httpコンポーネントのみを使用して、「次の」リストを取得しようとしています。私はlHTTP.Get('https://www.instagram.com/Myusername/following/');
を使用しようとしましたが、復号化されたhtmlにはユーザー名がありません。しかし、私はいくつかの人がinstagram apiなしでそれを使用して、VB.Netでちょうどhttp応答を見た。私は、Delphi 10にこの行でDelphi 10でhttpコンポーネントを使用してInstagram follow listを取得する方法
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;
VB.NetでHTTPでできることは何でも、Delphiの 'TIdHTTP'で行うことができます。実際に動作していないコードを表示してください。これはあなたの[他のInstagramの問題](http://stackoverflow.com/questions/37951677/)と違うわけではありません。 –
ええ、最初にログインしてアクセストークンを取得した後、 'lHTTP.Get( 'https://www.instagram.com/Myusername/');'を使ってアクセストークンを取得します。最後に 'lHTTP.Get( 'https://www.instagram.com/Myusername/following/');を取得します。ただし、解読されたhtmlにはユーザー名はありません。これは正しい方法だと思います@RemyLebeau – ColdZer0
助けてください、あなたが試みたコードを表示する必要があります。あなたがウェブブラウザで行うことができるものは、適切なコードで 'TIdHTTP'を使って行うことができるので、あなたは何かが欠落している必要があります。 –