Delphi-ADVFN登录问题

Delphi-ADVFN登录问题,delphi,indy,idhttp,Delphi,Indy,Idhttp,使用Delphi10.3和Indy,我正在尝试登录ADVFN。我已经用ADVFN设置了一个帐户,并用Firefox调试器等跟踪了网络流量 我尝试了多个IdHTTP示例,但仍然没有成功 任何帮助都将不胜感激 我正试图获得一个顶级赢家的列表,并用返回的原始html代码填充备忘录 // get cookies first... IdHTTP1.Request.UserAgent := 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:12.0) Gecko/2010010

使用Delphi10.3和Indy,我正在尝试登录ADVFN。我已经用ADVFN设置了一个帐户,并用Firefox调试器等跟踪了网络流量

我尝试了多个IdHTTP示例,但仍然没有成功

任何帮助都将不胜感激

我正试图获得一个顶级赢家的列表,并用返回的原始html代码填充备忘录

// get cookies first...
IdHTTP1.Request.UserAgent := 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:12.0) Gecko/20100101 Firefox/12.0';

LString := IdHTTP1.Get('https://uk.advfn.com');


// now submit the webform...
Params := TStringList.Create;
try
  Params.Add('redirect_url=aHR0cHM6Ly91ay5hZHZmbi5jb20=');
  Params.Add('site=uk');
  Params.Add('login_username=MYUSERNAME');
  Params.Add('login_password=MYPASSWORD');

  IdHTTP1.Post('https://uk.advfn.com', Params);

  LString := IdHTTP1.Get('https://uk.advfn.com/insights/toplist/london/percentage-gainer/price');

  Memo1.Lines.Text := LString;
finally
  Params.Free;
end;
您正在将您的登录请求发布到错误的URL。 位于
https://uk.advfn.com
您正试图将帖子提交到
https://secure.advfn.com/login/secure
,而不是
https://uk.advfn.com
就像您编码的那样:


IdHTTP1.Post('https://secure.advfn.com/login/secure,参数);
此外,该网络表单中还有第5个
字段,您没有提交:


Params.Add('login_submit=login');
提交Web表单时,必须按照HTML规范提交每个非空的


最后,在提交web表单进行基于web的身份验证时,了解登录是否成功的唯一方法是分析响应HTML以查看它是否包含您期望的内容。与基于HTTP的身份验证不同,在基于HTML的身份验证中没有特殊的响应代码。在发送
GET
请求之前,您应该确保登录成功https://uk.advfn.com/insights/toplist/london/percentage-gainer/price

基于您提供的少量信息,您到底希望我们如何帮助您?您模糊地描述了一个问题,提供了零细节,没有一行源代码,模糊地仍然没有成功,也没有问任何与代码相关的特定问题。至少,应该有一个能证明这个问题的例子。我们无法调试看不到的代码。请将IdHTTP1.Get返回的内容添加到q中,如果有的话。IdHTTP1.Get只返回主ADVFN页面。它似乎没有正确登录。此“Get”应返回30只股票的列表