curl returntransfer为空,curl_getinfo"错误:1"

use*_*954 1 php string https curl

我尝试从需要用户身份验证的IIS-Server获取一个带curl的页面.

curl_exec什么都不返回,CURLOPT_RETURNTRANSFER为真.如果CURLOPT_RETURNTRANSFER为false,则curl_exec返回true.

有什么问题?该页面既不是在成功之后也不是在不成功的认证之后为空.

$username = $_POST["acc"];
$password = $_POST["pw"];
$url = "https://secure.website.com/";

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_USERPWD, "$username:$password");
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FAILONERROR, true);
$page = curl_exec($ch);
echo "Error: " . print_r(curl_getinfo($ch)) . "<br>";
curl_close($ch);

echo "<br>Page:<br>" . $page  . "<br>---------------------------<br>";
Run Code Online (Sandbox Code Playgroud)

脚本输出如下所示:

Array ( [url] => https://secure.website.com/
        [content_type] => text/html
        [http_code] => 302
        [header_size] => 435
        [request_size] => 137
        [filetime] => -1
        [ssl_verify_result] => 20
        [redirect_count] => 0
        [total_time] => 0.187
        [namelookup_time] => 0
        [connect_time] => 0
        [pretransfer_time] => 0.046
        [size_upload] => 0
        [size_download] => 0
        [speed_download] => 0
        [speed_upload] => 0
        [download_content_length] => 0
        [upload_content_length] => 0
        [starttransfer_time] => 0.187
        [redirect_time] => 0
        [certinfo] => Array ( ) )
        Error: 1

Page:

---------------------------
Run Code Online (Sandbox Code Playgroud)

curl_error没有输出错误.curl_getinfo末尾的"错误:1"是我唯一的提示.该脚本适用于其他网站.

Rya*_*Cue 5

请注意状态代码,即302 Found,表示页面正在发出重定向.尝试:

curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
Run Code Online (Sandbox Code Playgroud)

这将使cURL为您重定向,并应解决此问题.

(Error: 1无关紧要,那只是因为你在做echo print_r().)