Synapse Delphi HTTPS SSL GET Request
Asked Answered
E

2

5

Only a GET request to a HTTP url works. If i try to request a HTTPS url then it doesn't return anything. I pretty much tried everything. Appreciate any help.

Here's my code:

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

SynHTTP is a THTTPSend object.

Expansible answered 7/7, 2012 at 17:49 Comment(2)
No delphi mastermind around? :(Expansible
I'm not familiar with synapse components, but try calling SynHttp.HTTPMethod after .CreateWithSSL and then .SSLDoConnect, if this doesn't work, try SynHttp.Sock.Connect in stead of .SSLDoConnect, hope this worksMoribund
C
8

Make sure:

  1. your exe application can access ssleay32.dll and libeay32.dll - the easiest way is to copy them into the directory of your exe.
  2. you added ssl_openssl.pas and ssl_openssl_lib.pas to your project.

Then it should work instantly.

Craniate answered 8/7, 2012 at 8:6 Comment(0)
S
1

Use HTTPSend and headers, works with SSL in HTTPMethod. If you use in URL 'https:' instead only 'http:', then your request is made by SSL/TLS connection:

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;  
Stolen answered 28/8, 2020 at 19:35 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.