Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/245.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP CURL不返回任何内容_Php_Curl_Http Authentication - Fatal编程技术网

PHP CURL不返回任何内容

PHP CURL不返回任何内容,php,curl,http-authentication,Php,Curl,Http Authentication,上面的代码不返回任何内容。我试图使用curl获取的页面使用http身份验证 我是否遗漏了一些简单的东西或什么?从这样做开始,看看你得到了什么,然后问题就显而易见了: 在curl_exec之后检查请求是否有错误: function ParseUrl($URL) { $crl = curl_init(); curl_setopt ($crl, CURLOPT_URL, $URL); curl_setopt ($crl, CURLOPT_PORT, 8086); cur

上面的代码不返回任何内容。我试图使用curl获取的页面使用http身份验证


我是否遗漏了一些简单的东西或什么?

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

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

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_exec之后发送的请求,以便再次检查发送的所有内容是否都已就绪:

if(curl_errno($ch)){
    echo 'Curl error: ' . curl_error($ch);
}
编辑:在评论之后,这是您要查找的内容,缺少的内容:

您需要设置选项
CURLOPT\u HTTPAUTH

:

要验证的HTTP身份验证方法 使用。选项有:CURLAUTH_BASIC, 科拉图什文摘, CURLAUTH_GSN协商,CURLAUTH_NTLM, CURLAUTH_ANY和CURLAUTH_ANYSAFE

按位|(或)运算符可以是 用于组合多种方法。 如果完成此操作,cURL将轮询 服务器来查看它支持哪些方法 挑一个最好的

CURLAUTH_ANY是的别名 CURLAUTH|u基础| CURLAUTH|u摘要| 卷曲曲曲曲曲曲曲曲曲曲曲曲曲曲曲曲曲曲曲曲曲曲曲曲曲曲曲曲曲曲曲曲曲曲曲曲曲曲曲曲曲曲曲曲曲曲曲曲曲曲曲曲曲曲曲曲曲曲曲曲曲曲曲曲曲曲曲曲曲曲曲

CURLAUTH_ANYSAFE是的别名 卷发文摘| 卷曲曲曲曲曲曲曲曲曲曲曲曲曲曲曲曲曲曲曲曲曲曲曲曲曲曲曲曲曲曲曲曲曲曲曲曲曲曲曲曲曲曲曲曲曲曲曲曲曲曲曲曲曲曲曲曲曲曲曲曲曲曲曲曲曲曲曲曲曲曲曲


如果您的用户名和密码中有任何特殊字符(例如,如果您的用户名是电子邮件地址,则为
@
符号),请确保它们已转义。不,用户名只是“admin”,密码也很简单。Curl不返回任何错误,只返回print_r(Curl_getinfo($ch));我注意到[http_code]=>401>\<如果有一种简单的方法可以通过http身份验证从url获取文件。url格式如下“”,甚至包含完整url(带有凭据和端口)的文件内容也会返回401个未经授权的url。但我只需导航到链接和浏览器,它就可以正常工作。感谢帮助:)在搜索curl 401之后,我实际上意识到我缺少了auth选项。但非常感谢你们,问题解决了:)谢谢这对兄弟的帮助。
print_r(curl_getinfo($ch));