【发布时间】:2013-03-05 14:32:25
【问题描述】:
我使用 curl 从 PHP 中检索 url 的内容。它适用于大多数 url,但对于某些 url,它只返回一个空字符串(从命令行“卷曲”这样的 url 就可以了)。 这是我运行 curl 的方式:
$curl_session = curl_init($site->url);
curl_setopt($curl_session, CURLOPT_HEADER, 0);
curl_setopt($curl_session, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl_session, CURLOPT_CONNECTTIMEOUT, TIMEOUT);
$output = curl_exec($curl_session);
curl_close($curl_session);
我也检查了,curl 似乎没有给出任何错误。
【问题讨论】:
-
您确认
$site->url的值有效吗? -
你确定它是一个空字符串而不是布尔假吗?
if ($output === FALSE) { die(curl_error($curl_session)); } -
是的,约翰,我什至用 url 的字面值替换了它,它仍然不起作用。
-
$output的值为string(0) "" -
这里有同样的问题。我的“输出”说:
curl: (7) Failed to connect to <ip-address>: Permission denied。在命令行上使用 curl 时效果很好。 (我的 php 脚本实际上运行另一个 shell 脚本,然后从内部运行 curl)。