赞
踩
我在HTTP身份验证中遇到问题.我无法获取此网址的内容,因为它需要http auth.
码:
$url = "http://www.abcdefg.com/12345/";
$username = 'username';
$password = 'password';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
curl_setopt($ch, CURLOPT_USERPWD, "$username:$password");
$out = curl_exec($ch);
print "error:" . curl_error($ch) . "
";
print "output:" . $out . "
";
curl_close($ch);
?>
问题是:
它没有显示真实内容,而是显示“302 Found,文档已移至此处”.
我试过“http:// username:password@www.abcdefg.com/12345/”,不起作用.
访问此URL(1)时,弹出窗口会询问用户名和密码.但是弹出窗口来自另一个url(2)(sso认证服务器).如果通过身份验证.然后它又回到url(1).此时,我可以访问此网址(1)的内容.
我使用firebug直接从浏览器访问url获取以下消息:
步骤1
URL: GET http://www.abcdefg.com/12345/
Status: 302 Found
Protocol: http
第2步
URL: GET https://www.ssoauth.com/obrareq.cgi?wh=xxx wu=xxx wo=xxx rh=http://www.abcdefg.com ru=/12345/
Status: 302 Redirect
Protocol: https
第3步
URL: GET http://www.abcdefg.com/obrar.cgi?cookie=xxxxxxxxxxxxxxx
Status: 302 Found
Protocol: http
第4步
URL: GET http://www.abcdefg.com/12345/
Status: 200 OK
Protocol: http
然后显示内容……
这与cookie有关吗?
如何使用php curl阅读内容?
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。