我想请教一下,有没有人能够友好地向我解释如何从Delphi应用程序登录网页。我在这里找到的所有示例都对我无用或者我做错了什么。我已经厌倦了搜索和那些不起作用的代码。
没有错误信息,我甚至将页面代码放入Memo中,但似乎这是登录页面的代码(而不是帐户[仪表板]页面)-似乎这段代码根本不能通过身份验证,我不知道为什么。
这段代码有什么问题:
没有错误信息,我甚至将页面代码放入Memo中,但似乎这是登录页面的代码(而不是帐户[仪表板]页面)-似乎这段代码根本不能通过身份验证,我不知道为什么。
这段代码有什么问题:
procedure Login;
var
HTTP: TIdHTTP;
Param: TStringList;
S: String;
begin
HTTP := TIdHTTP.Create(nil);
HTTP.CookieManager := Main_Form.CookieManager;
Param := TStringList.Create;
Param.Clear;
Param.Add('login=example');
Param.Add('password=example');
try
HTTP.Get ('http://www.filestrum.com/login.html');
HTTP.Post('http://www.filestrum.com/login.html', Param);
S := HTTP.Get ('http://www.filestrum.com/?op=my_account');
Main_Form.Memo2.Lines.Add(S);
finally
HTTP.Free;
Param.Free;
end;
end;
或者使用这个版本:
procedure Login;
var
HTTP: TIdHTTP;
S: String;
begin
HTTP := TIdHTTP.Create(nil);
HTTP.CookieManager := Main_Form.CookieManager;
HTTP.Request.BasicAuthentication := True;
HTTP.Request.Username := 'example';
HTTP.Request.Password := 'example';
HTTP.AllowCookies := True;
HTTP.HandleRedirects := True;
S := HTTP.Get ('http://www.filestrum.com/?op=my_account');
Main_Form.Memo2.Lines.Add(S);
end;
我使用Delphi XE2,但是无法运行并登录。与XE3演示相同。如我所说,我真的很累了,寻找解决方案已经浪费了几天时间,却一无所获。
请求各位大神,在这里给予一些帮助。我真的非常需要它。
http://www.filestrum.com//?op=my_account
中多余的/
吗? - TLamaop
(操作类型?)。理论上,无法验证(没有Delphi手头),您可以尝试仅进行POST请求并将“重定向”URL指定为您在那个额外斜杠(在问题编辑之前)的位置。 - TLama