php curl 未经授权但手动工作
php curl unauthorized but works manually
因此,如果我正在浏览 http://www.example.com/user1.jpg,我会看到用户的图片。
但是,如果我通过 PHP 从我的本地主机网络服务器(所以相同的 IP)发出 curl 请求,它会抛出 401 未经授权。
我什至尝试更改用户代理,但仍然没有成功。
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_URL => 'http://example.com/user1.jpg',
CURLOPT_USERAGENT => 'Mozilla/5.0 (Windows NT 5.1; rv:31.0) Gecko/20100101 Firefox/31.0'
));
$resp = curl_exec($curl);
echo $resp;
curl_close($curl);
有什么问题吗?
我使用 Fiddler 工具分析 headers 锯切 3 个 GET 请求。前两个是 401 Unauthorized,第三个是在没有输入凭据的情况下被接受的(可能是 SSON 实现的)。
它使用的是 NTLM 身份验证协议,因此 运行 使用“--ntlm username:password”从 CLI 卷曲为我完成了这项工作。
因此,如果我正在浏览 http://www.example.com/user1.jpg,我会看到用户的图片。 但是,如果我通过 PHP 从我的本地主机网络服务器(所以相同的 IP)发出 curl 请求,它会抛出 401 未经授权。 我什至尝试更改用户代理,但仍然没有成功。
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_URL => 'http://example.com/user1.jpg',
CURLOPT_USERAGENT => 'Mozilla/5.0 (Windows NT 5.1; rv:31.0) Gecko/20100101 Firefox/31.0'
));
$resp = curl_exec($curl);
echo $resp;
curl_close($curl);
有什么问题吗?
我使用 Fiddler 工具分析 headers 锯切 3 个 GET 请求。前两个是 401 Unauthorized,第三个是在没有输入凭据的情况下被接受的(可能是 SSON 实现的)。 它使用的是 NTLM 身份验证协议,因此 运行 使用“--ntlm username:password”从 CLI 卷曲为我完成了这项工作。