1

我有一个从 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 等...

4

4 回答 4

0

这是OP的队友。我们已经确认代码工作正常。(我们从两台主机上进行了测试)。主机本身有一些东西阻止了对白页的访问。cURL 已启用,我们尝试使用备用端口(即... 8080)。另外,尝试建立特定的浏览器标头和用户代理(来自以下帖子)服务器可以阻止 curl 请求吗?

我们建立的任何东西似乎都没有任何区别......我们也认为这是一个防火墙问题,但我们在这里本地检查并没有问题。我只能认为它在服务器上被阻止了。我们有一个“经销商”专用服务器,可以访问 php.ini 等...

于 2012-09-25T18:21:19.340 回答
0

这对我来说看起来不错。

我也运行了你的代码,它似乎工作得很好。

于 2012-09-25T16:47:42.333 回答
0

打开错误报告error_reporting(E_ALL);。也许新服务器没有启用 cURL。

于 2012-09-25T16:49:21.170 回答
0

它可能会返回错误,但由于您的服务器配置,您没有看到它。尝试将此添加到脚本的顶部

error_reporting(E_ALL);
ini_set("display_error", "On");
于 2012-09-25T16:49:55.610 回答