模拟网站登录delphi app FMX

时间:2014-10-20 21:20:52

标签: html delphi delphi-xe6 delphi-xe7

如何调用网站的点击事件,或者更简单地说,通过POST和delphi登录网站?例如,我与PS4 / XBox1游戏Madden 15的一些朋友进行了特许经营联盟。他们在商店的伴侣应用程序实际上只是一个链接到网站,坦白说,网站很笨重,很难在移动设备上导航。我想复制网站 - 根据我的需要定制 - 使用移动应用程序形式的Delphi。我的第一个障碍是登录。我的计划是我只在应用程序的后台使用Web浏览器登录/加载HMTL,我可以从中评估HTML并根据我需要列出视觉数据来提取数据。

链接到网站我想模拟here

由于我想在webbrowser上显示更友好的GUI,我相信我可以用WebBrowser1.EvaluateJavaScript(ChangeElementByIDforPassandUsername_String);修改浏览器的HTML 从表单上的TEdits中获取传递的字符串。

在此之后: http://blogs.embarcadero.com/nikolay/2014/04/17/exampleofusingjavascriptforgooglemapsinthedelphixe6/

但是,如何在网站上调用模拟按钮点击登录按钮?

1 个答案:

答案 0 :(得分:1)

忘记劫持移动浏览器。使用Indy的TIdHTTP组件根据需要向服务器发送HTTP POST请求。使用普通的WebBrowser查看实时HTML,然后将相关字段编码到您的应用程序中。或者使用TIdHTTP下载HTML并在代码中对其进行分析。但无论哪种方式,您都可以使用自己的UI。

例如:

var
  PostData: TStringList;
  Resp: String;
begin
  PostData := TStringList.Create;
  try
    PostData.Add('email=...');
    PostData.Add('password=...');
    PostData.Add('_eventId=submit');
    PostData.Add('facebookAuth=');

    // make sure a TIdSSLIOHandlerSocketOpenSSL is assigned
    // to the TIdHTTP.IOHandler property beforehand

    Resp := IdHTTP1.Post(URL{'https://signin.ea.com/p/web/login?execution=...'}, PostData);
  finally
    PostData.Free;
  end;
end;
相关问题