只有对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对象。
答案 0 :(得分:6)
确保:
ssleay32.dll
和libeay32.dll
- 最简单的方法是将它们复制到您的exe目录中。ssl_openssl.pas
和ssl_openssl_lib.pas
添加到您的项目中。然后它应该立即起作用。
答案 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;