function ParseUrl($URL)
{
$crl = curl_init();
curl_setopt ($crl, CURLOPT_URL, $URL);
curl_setopt ($crl, CURLOPT_PORT, 8086);
curl_setopt ($crl, CURLOPT_USERPWD, "admin:pass");
curl_setopt ($crl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($crl, CURLOPT_CONNECTTIMEOUT, 5);
$ret = curl_exec($crl);
curl_close($crl);
return $ret;
}
echo ParseUrl('http://xxx.me/serverinfo');
上面的代码完全不返回任何内容。我尝试使用curl获得的页面使用http身份验证。
我缺少一些简单的东西吗?
最佳答案
首先,请执行此操作,然后查看所获得的内容,然后显而易见,问题出在哪里:
在curl_exec之后检查请求是否存在错误:
if(curl_errno($ch)){
echo 'Curl error: ' . curl_error($ch);
}
这将为您提供足够的信息,以了解请求是否存在错误。如果没有错误,您可以检查curl_exec之后发送的请求,以便再次检查发送的所有内容是否到位:
print_r(curl_getinfo($ch));
编辑:评论后,这就是您要查找的缺失内容:
您需要设置选项
CURLOPT_HTTPAUTH
。Quote from php.net on the subject:
关于php - PHP CURL不返回任何内容,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6324819/