【发布时间】:2012-09-25 16:43:46
【问题描述】:
我有一个从 whitepages.com 提取信息的功能,它运行良好。我将代码移到了新服务器上,现在我只遇到了 curl 和 white pages 的问题。我还使用 curl 访问其他网站,例如 zillow.com,它运行良好。
我使用的代码是:
<?php
$ch3 = curl_init();
curl_setopt($ch3, CURLOPT_CONNECTTIMEOUT, 15);
curl_setopt($ch3, CURLOPT_TIMEOUT, 15);
curl_setopt($ch3, CURLOPT_URL, "http://www.whitepages.com/name/john-smith/md");
curl_setopt($ch3, CURLOPT_RETURNTRANSFER, 1);
$output2 = curl_exec($ch3);
curl_close($ch3);
?>
<?=$output2;?>
我不知道这是 cURL 或 PHP 还是服务器本身的问题。 PHP 版本 5.3.17。较旧的服务器:PHP 版本 5.2.4。它似乎适用于我们拥有的所有其他服务器。我不知道 php 或 cURL 中是否有我需要打开的选项。谢谢。
编辑:这是 curl 部分中的 phpinfo
cURL support enabled
cURL Information 7.24.0
Age 3
Features
AsynchDNS No
Debug No
GSS-Negotiate No
IDN Yes
IPv6 Yes
Largefile Yes
NTLM Yes
SPNEGO No
SSL Yes
SSPI No
krb4 No
libz Yes
CharConv No
Protocols dict, file, ftp, ftps, gopher, http, https, imap, imaps, ldap, ldaps, pop3, pop3s, rtsp, smtp, smtps, telnet, tftp
Host x86_64-unknown-linux-gnu
SSL Version OpenSSL/1.0.0
ZLib Version 1.2.3
它是来自 gatorhost 的专用服务器。我认为是 linux-RedHat-9.8.2。它只说“无法连接到主机”
我们已经确认代码可以正常工作。 (我们从两台主机上进行了测试)。主机本身有一些东西阻止了对白页的访问。 cURL 已启用,我们尝试使用备用端口(即... 8080)。另外,尝试建立特定的浏览器标头和用户代理(来自以下帖子)服务器可以阻止 curl 请求吗?
我们建立的任何东西似乎都没有任何区别....我们也认为这是一个防火墙问题,但我们在本地检查并没有问题。我只能认为它在服务器上被阻止了。我们有一个“经销商”专用服务器,可以访问 php.ini 等...
【问题讨论】:
-
这需要先进行基本调试。一个如何使用 curl 获取更多详细信息的示例,您可以在此处找到:stackoverflow.com/questions/9550319/… - 基本调试意味着,您需要分享有关您的错误类型的更多信息,只是有“我收到错误”或“它不起作用” “对于良好的编程帮助来说太少了。你可以想象有数万亿台服务器,你需要学习如何处理这些问题,因为你将来也会遇到问题。
-
我已将其发布在其他人的评论中。它是 gatorhost 的专用服务器。我认为是 linux-RedHat-9.8.2。它所说的只是“无法连接到主机”
-
您的队友应在您的问题中添加其他详细信息,并且您应联系 whitepages.com 并寻求支持以向他们的站点发送 HTTP 请求,即使您端没有任何东西阻止连接。