Ich versuche, meine Instagram "Following" -Liste mit nur http-Komponente zu bekommen. Ich habe versucht, lHTTP.Get('https://www.instagram.com/Myusername/following/');
zu verwenden, aber es gibt keine Benutzernamen im entschlüsselten HTML. Allerdings sah ich einige Leute ohne instagram api, nur HTTP-Antwort in VB.Net. Ich verwende Delphi 10.So erhalten Sie Instagram folgende Liste mit http-Komponente in Delphi 10
UPDATE
procedure TForm1.Button4Click(Sender: TObject);
var
lHTTP: TIdHTTP;
IdSSL: TIdSSLIOHandlerSocketOpenSSL;
Params, login : TStrings;
Reply, Token, X: string;
Cookie: TIdCookie;
begin
try
Params := TStringList.Create;
Params.Add('username=' + Edit1.Text);
Params.Add('password=' + Edit2.Text);
lHTTP := TIdHTTP.Create(nil);
try
IdSSL := TIdSSLIOHandlerSocketOpenSSL.Create(lHTTP);
IdSSL.SSLOptions.Method := sslvTLSv1;
IdSSL.SSLOptions.Mode := sslmClient;
lHTTP.IOHandler := IdSSL;
lHTTP.ReadTimeout := 30000;
lHTTP.HandleRedirects := True;
lHTTP.Request.UserAgent := 'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.76 Mobile Safari/537.36';
lHTTP.Get('https://www.instagram.com', TStream(nil));
Cookie := lHTTP.CookieManager.CookieCollection.Cookie['csrftoken', 'www.instagram.com'];
if Cookie <> nil then
Token := Cookie.Value;
try
lHTTP.Request.CustomHeaders.Values['X-CSRFToken'] := Token;
lHTTP.Request.CustomHeaders.Values['X-Instagram-AJAX'] := '1';
lHTTP.Request.CustomHeaders.Values['X-Requested-With'] := 'XMLHttpRequest';
lHTTP.Request.Referer := 'https://www.instagram.com/';
lHTTP.Request.ContentType := 'application/x-www-form-urlencoded';
lHTTP.Request.UserAgent := 'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.76 Mobile Safari/537.36';
Reply := lHTTP.Post('https://www.instagram.com/accounts/login/ajax/', Params);
finally
end;
finally
end;
Finally
lHTTP.Request.UserAgent := 'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.76 Mobile Safari/537.36';
lHTTP.Get('https://www.instagram.com/myusername/following/', TStream(nil));
Memo1.Lines.Add(Reply);
Finally
end;
end;
end;
Alles, was Sie mit HTTP in VB.Net können, können Sie mit 'TIdHTTP' in Delphi tun. Bitte zeigen Sie den Code, den Sie ausprobiert haben, der nicht für Sie funktioniert. Dies ist nicht anders als bei Ihrer [anderen Instagram-Ausgabe] (http://stackoverflow.com/questions/37951677/). –
Ja, ich habe zuerst versucht, mich anzumelden, dann bekomme ich das Access-Token, dann benutze ich 'LHTTP.Get ('https://www.instagram.com/Myusername/');', um das Access-Token zu bekommen. Schließlich bekommen Sie die 'LHTTP.Get ('https://www.instagram.com/Myusername/following/');' Aber es gibt keine Benutzernamen in der entschlüsselten HTML, ich glaube nicht, dass dies die richtige Methode @RemyLebeau – ColdZer0
, wenn Sie möchten Hilfe hier, müssen Sie den Code zeigen, den Sie versucht haben. Alles, was Sie in einem Webbrowser tun können, kann mit 'TIdHTTP' mit dem richtigen Code gemacht werden, so dass Sie etwas verpassen müssen. –