Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/delphi/8.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和ICS[HTTP.Cli1]_Delphi - Fatal编程技术网

delphi和ICS[HTTP.Cli1]

delphi和ICS[HTTP.Cli1],delphi,Delphi,所以我在获取谷歌搜索网页时遇到了问题。 当我尝试简单查询时,例如: http://www.google.ba/search?q=inurl:Stackoverflow&num=100&hl=en&start=0&sa=N 在这种情况下,它是inurl:StackOverflow Indy和ICS Http.Cli1下载网页没有任何问题,但当我尝试时: http://www.google.ba/search?q=inurl:Stackoverflow site:b

所以我在获取谷歌搜索网页时遇到了问题。 当我尝试简单查询时,例如:

http://www.google.ba/search?q=inurl:Stackoverflow&num=100&hl=en&start=0&sa=N
在这种情况下,它是inurl:StackOverflow

Indy和ICS Http.Cli1下载网页没有任何问题,但当我尝试时:

http://www.google.ba/search?q=inurl:Stackoverflow site:ba&num=100&hl=en&start=0&sa=N
在本例中,查询是inurl:Stackoverflow site:ba我收到了错误的请求,所以我查看了地址栏,发现Google用%20替换了空格,所以下一步我尝试:

idhttp1.get('http://www.google.ba/search?q=inurl:Stackoverflow%20site:ba&num=100&hl=en&start=0&sa=N');
我在印第上出错了,所以我尝试了ICS

Http.Cli1.url('http://www.google.ba/search?q=inurl:Stackoverflow%20site:ba&num=100&hl=en&start=0&sa=N');
Http.cli1.get;
我收到“服务不可用”错误。
为什么呢?当我将粘贴链接复制到web浏览器时,它可以正常打开。为什么我不能用这些组件得到它。我应该怎么做

您使用的是哪个版本的Indy?我使用delphi 7 Indy 9.00.10,但我更喜欢为ICS找到解决方案,当我使用Indy时,我的程序有时会冻结,使用ICS时,它永远不会发生……Indy使用阻塞套接字操作,这是出于设计。如果你在主线程的上下文中使用它,你的应用程序将在Indy忙时显示为冻结,因为主消息循环没有处理新消息。您可以将TID防冻剂组件放到主窗体上,也可以将Indy逻辑移动到单独的工作线程中。TID防冻剂做得很好,谢谢提示: