Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/delphi/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Delphi 如何使用Synapse库通过ssl发布字符串?_Delphi_Http_Post_Ssl_Https - Fatal编程技术网

Delphi 如何使用Synapse库通过ssl发布字符串?

Delphi 如何使用Synapse库通过ssl发布字符串?,delphi,http,post,ssl,https,Delphi,Http,Post,Ssl,Https,我正在使用,今天我想知道如何通过post请求将字符串发送到使用ssl的Web服务器 以下是我现有的代码: procedure TForm1.syn; var Position: Integer; URL, Params: string; Response: TMemoryStream; SynHttp: THTTPSend; Socket: TTCPBlockSocket; begin Response := TMemoryStream.Create; Socket

我正在使用,今天我想知道如何通过post请求将字符串发送到使用ssl的Web服务器

以下是我现有的代码:

procedure TForm1.syn;
var
  Position: Integer;
  URL, Params: string;
  Response: TMemoryStream;
  SynHttp: THTTPSend;
  Socket: TTCPBlockSocket;
begin
  Response := TMemoryStream.Create;
  Socket := TTCPBlockSocket.Create;
  SynHttp := THTTPSend.Create;
  URL := 'https://gitlab.com';

  try
       Position := Pos('https', URL);
       if Position <> 0 then begin //
         SynHttp.Sock.CreateWithSSL(TSSLOpenSSL);
         SynHttp.Sock.SSLDoConnect;
         // Here i wanna do a Postrequest to the ssl webserver
       end
       else
       // Here i wanna do a Postrequest to the non-ssl webserver
  finally
    Socket.Free;
    Response.Free;
    SynHttp.Free;
  end;
end;
程序TForm1.syn;
变量
位置:整数;
URL,参数:字符串;
响应:TMemoryStream;
SynHttp:THTTPSend;
插座:TTCPBlockSocket;
开始
响应:=TMemoryStream.Create;
套接字:=TTCPBlockSocket.Create;
SynHttp:=THTTPSend.Create;
网址:='https://gitlab.com';
尝试
位置:=Pos('https',URL);
如果位置为0,则开始//
SynHttp.Sock.CreateWithSSL(TSSLOpenSSL);
SynHttp.Sock.SSLDoConnect;
//在这里,我想向ssl Web服务器发出一个POST请求
结束
其他的
//在这里,我想对非ssl Web服务器进行POST请求
最后
插座。免费;
回答:免费;
SynHttp.Free;
结束;
结束;

我想连接到ssl Web服务器,如果连接成功,我想向Web服务器执行POST。

您可以使用

发送字符串

例行公事,如他们的例子

乐:从评论文章来看,我相信这个问题将是一个好的开始


你真正的问题是什么?使用SSL连接到Web服务器或执行POST?也许这个问题可以帮助您我想连接到SSL Web服务器,如果连接成功,我想执行到Web服务器的POST。哪一个问题?1) 使用SSL连接到Web服务器或2)执行post对我来说没有问题,但我不知道如何使用SSL处理它。是否可以发送这样的字符串?参数:='parameter1='+EncodeURLElement('data1')+'&'+'parameter2='+EncodeURLElement('data2');这取决于您需要从服务器请求什么。我回答了你的问题。这是另一个问题