Sockets TIdHTTP返回“;套接字错误#10060'#$D#$A';连接超时。”;
我是德尔福的新手。为了与WebService通信,我添加了两个组件,TIdHTTP和TIdSSLIOHandlerSocketOpenSSL for SSL(https)。从服务器获取响应时,它不工作并返回“套接字错误#10060'#$D#$A'连接超时”。我该怎么办?下面是我的代码Sockets TIdHTTP返回“;套接字错误#10060'#$D#$A';连接超时。”;,sockets,delphi,ssl,delphi-xe5,idhttp,Sockets,Delphi,Ssl,Delphi Xe5,Idhttp,我是德尔福的新手。为了与WebService通信,我添加了两个组件,TIdHTTP和TIdSSLIOHandlerSocketOpenSSL for SSL(https)。从服务器获取响应时,它不工作并返回“套接字错误#10060'#$D#$A'连接超时”。我该怎么办?下面是我的代码 procedure TForm1.btnRequestClick(Sender: TObject); var s: string; lHTTP: TIdHTTP; lIOHandler: TIdSSLI
procedure TForm1.btnRequestClick(Sender: TObject);
var
s: string;
lHTTP: TIdHTTP;
lIOHandler: TIdSSLIOHandlerSocketOpenSSL;
begin
lHTTP := TIdHTTP.Create(nil);
lIOHandler := TIdSSLIOHandlerSocketOpenSSL.Create(nil);
try
lHTTP.IOHandler := lIOHandler;
lHTTP.HandleRedirects := True;
s := lHTTP.Get('https://esta.cbp.dhs.gov/esta/');
Memo.Text := s;
finally
lHTTP.Free;
lIOHandler.Free;
end;
end;
提前感谢。您显示的代码工作正常,就像我在最新版本的Indy中试用时一样。返回的
字符串
如预期的那样包含站点的HTML
默认情况下,Indy对其
ConnectTimeout
和ReadTimeout
属性使用无限超时,因此获得该错误的唯一方法是操作系统在尝试连接到服务器时超时。确保您的机器有一条网络路径可以到达esta.cbp.dhs.gov
。你能在web浏览器中加载URL吗?我收到了同样的消息。我有Indy_OpenSSL096m.zip提供的Indy-10.1.5和Delphi-7、Win-7x64和SSL DLL。我的问题是当我使用一些非常慢的网站时。即使在谷歌Ghrome,这些网站有时也不起作用,而是说“这个页面不可用”。其他站点工作正常。是!我可以连接URL,我要检查公司的网络政策或其他东西。如果是网络问题,我应该检查哪些方面?如果web浏览器可以连接到站点,那么TIdHTTP也没有理由不能连接。我也遇到了同样的错误,Indy 10.5.7。事实上,只要我调用GET命令,错误就会发生。@delphic就像我说的,使用最新版本(目前是10.6.2.5457)对我来说效果很好。105.7是一个非常过时的版本,请考虑升级。@ ReMyLeBeAube,我在哪里可以更新?此版本与Delphi 2007兼容吗?谢谢