delphi7使用idhttp获取https的页面代码

procedure TForm1.Button1Click(Sender: TObject);
var url:string;
response:TStringStream;
error:string;
begin
  response:=TStringStream.Create('');
  IdHTTP1.IOHandler := IdSSLIOHandlerSocket1;
  IdHTTP1.HandleRedirects:=false;
  IdSSLIOHandlerSocket1.SSLOptions.Method := sslvSSLv3;
  url:='https://passport.jd.com/new/login.aspx';
  try
    IdHTTP1.Get(url);
  except
    on E: Exception do
      error:=E.Message;
  end;
  url:= IdHTTP1.Response.Location;
  if error='HTTP/1.1 302 Found' then
  begin
    IdHTTP1.Get(url,response);
    Memo1.Text := response.DataString;
  end;


  response.Free;
end;

需要把下面两个dll和exe放在一起

注意:不要在delphi ide中按F9运行, 这样(try except)异常会被IDE的调试器捕获,当然可以设置忽略异常,把异常传递给程序,不过并不推荐这样做,会影响下次调试。

看效果直接双击exe即可。

本文为“老吴笔记”的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注