Synapse Delphi HTTPS SSL GET请求

时间:2012-07-07 17:49:44

标签: delphi ssl get request synapse

只有对HTTP网址的GET请求才有效。如果我尝试请求HTTPS网址,则它不会返回任何内容。我几乎尝试了一切。感谢任何帮助。

这是我的代码:

 SynHttp.Sock.CreateWithSSL(TSSLOpenSSL);
 SynHttp.Sock.SSLDoConnect;
 SynHttp.HTTPMethod('GET', 'https://www.google.com/');
 Resp.LoadFromStream(SynHttp.Document);
 HtmlResponse := Resp.Text;

SynHTTP是THTTPSend对象。

2 个答案:

答案 0 :(得分:6)

确保:

  1. 您的exe应用程序可以访问ssleay32.dlllibeay32.dll - 最简单的方法是将它们复制到您的exe目录中。
  2. 您已将ssl_openssl.passsl_openssl_lib.pas添加到您的项目中。
  3. 然后它应该立即起作用。

答案 1 :(得分:0)

使用HTTPSend和标头,在HTTPMethod中与SSL一起使用。 如果您在URL中使用“ https:”而不是仅使用“ http:”,那么您的请求是通过SSL / TLS连接进行的:

aURL:='https://api.metadefender.com/v4/file/bzIwMDYxNi1TSW42NDBPVlprTWw3YjRBMQ';

with THTTPSend.create() do begin
  Headers.Add('apikey: 6b337c92c792174a54acd715ab1aae64');
  writeln(botostr(HTTPMethod('GET',aURl)));
  writeln('synapse get: '+StreamtoString3(document)) 
  writeln(itoa(ResultCode)+' '+ResultString);
  Clear;
  Free;
end;