Delphi Indy“连接”方法到站点?

时间:2014-05-09 23:33:55

标签: delphi indy

我已经分析了一个网站,看看数据是如何发送的......但是我遇到了一些问题..

网站使用connect方法连接到网站,就像这个connet到“http://example.com:443”并且http中没有S ..

在Indy或聪明的竞争者中没有这样的方法..只有post,Get,put ..

这是了解我的照片。

enter image description here

所以我如何在indy或聪明的竞争对手中使用这种连接方法.. !!

2 个答案:

答案 0 :(得分:2)

CONNECT用于让客户端通过HTTP代理连接到目标服务器。这是代理SSL连接最常用(但不限于此),例如用于HTTPS的那些连接。

当您在TIdHTTP属性中配置代理主机:端口时,Indy的CONNECT组件在内部使用TIdHTTP.ProxyParams,然后:

  1. 请求HTTPS网址。

  2. 请求HTTP网址并在hoNonSSLProxyUseConnectVerb属性中启用TIdHTTP.HTTPOptions标记。

  3. Indy还有一个TIdConnectThroughHttpProxy组件,可以与Indy的其他非HTTP TCP客户端一起使用CONNECT通过HTTP代理代理连接。

答案 1 :(得分:0)

如果我没记错的话,以下基于Synapse的代码将使用OpenSSL库触发CONNECT到端口443 ......

procedure Test;

var HTTP:THTTPSend;

begin
   HTTP:=THTTPSend.Create;
   try
      HTTP.Sock.CreateWithSSL(TSSLOpenSSL);
      HTTP.Sock.SSLDoConnect;  // CONNECT happens here
      HTTP.HTTPMethod('GET','https://www.google.com/');
      (...)
   finally
      HTTP.Free;
   end;
end;