首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >PHP CURL不返回任何内容

PHP CURL不返回任何内容
EN

Stack Overflow用户
提问于 2011-06-13 05:33:49
回答 1查看 42.6K关注 0票数 29
代码语言:javascript
复制
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身份验证。

我是不是漏掉了什么简单的东西?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-06-13 05:39:40

从这样做开始,看看你得到了什么,然后问题就很明显了:

检查curl_exec之后的请求是否有错误:

代码语言:javascript
复制
if(curl_errno($ch)){
    echo 'Curl error: ' . curl_error($ch);
}

这将为您提供足够的信息,以了解请求是否存在错误。如果没有错误,您可以检查在curl_exec之后发送的请求,这样您就可以再次检查发送的所有内容是否都到位:

代码语言:javascript
复制
print_r(curl_getinfo($ch));

编辑:在评论之后,这就是你正在寻找的缺失内容:

您需要设置选项CURLOPT_HTTPAUTH

Quote from php.net on the subject

要使用的超文本传输协议身份验证方法。选项包括: CURLAUTH_BASIC、CURLAUTH_DIGEST、CURLAUTH_GSSNEGOTIATE、CURLAUTH_NTLM、CURLAUTH_ANY和CURLAUTH_ANYSAFE。

按位运算符|(或)可用于组合多个方法。如果这样做了,cURL将轮询服务器,看看它支持哪些方法,并选择最好的方法。

CURLAUTH_ANY是CURLAUTH_BASIC | CURLAUTH_DIGEST | CURLAUTH_GSSNEGOTIATE | CURLAUTH_NTLM的别名。

CURLAUTH_ANYSAFE是CURLAUTH_DIGEST | CURLAUTH_GSSNEGOTIATE |CURLAUTH_NTLM的别名。

票数 72
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6324819

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档