首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Delphi -如何使用TChromium登录Instagram?

Delphi -如何使用TChromium登录Instagram?
EN

Stack Overflow用户
提问于 2021-11-01 10:05:16
回答 1查看 207关注 0票数 0
代码语言:javascript
复制
...
var
  Header:  ICefStringMultimap;
  Data:    ICefPostData;
  request: ICefRequest;
begin
  Header := TCefStringMultimapOwn.Create;
  Header.Append('Content-Type', 'application/x-www-form-urlencoded');
  Data := TCefPostDataRef.New;
  Data.AddElement(CreateField('username=nameofuser'));
  Data.AddElement(CreateField('&enc_password=#PWD_INSTAGRAM_BROWSER:10:1635078414:AdF...g=='));
  request       := TCefRequestRef.New;
  request.Flags := UR_FLAG_NONE;
  request.SetReferrer('https://www.instagram.com/accounts/login/', uCEFTypes.TCefReferrerPolicy.REFERRER_POLICY_NEVER_CLEAR_REFERRER);
  request.Assign('https://www.instagram.com/accounts/login/ajax/', 'POST', Data, Header);
  Chromium1.browser.MainFrame.LoadRequest(request);
end;
...

当执行上述代码时,响应是:

无法加载此页面。如果在浏览器中禁用了cookie,或者正在以私有模式浏览,请尝试启用cookie或关闭私有模式,然后重新尝试操作。

EN

回答 1

Stack Overflow用户

发布于 2021-11-01 14:13:13

https://www.instagram.com/accounts/login/ajax的异步javascript (AJAX)调用是通过登录页面上调用的代码对后端进行的web服务调用。它不是单独导航到浏览器的页面。它还为呼叫做了许多其他设置。

如果使用现代浏览器上可用的开发工具检查正常的网页操作,您可以看到web服务的响应,而不是网页。它返回容易被Javascript代码使用的JSON。例如,对于由于用户和密码无效而无法登录的调用,它将返回:

代码语言:javascript
复制
{
    "user": false,
    "authenticated": false,
    "status": "ok"
}

自动化web应用程序的一种方法是设置元素值和触发事件。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69795351

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档