当前位置:   article > 正文

php 访问url curl,php curl – 使用http身份验证访问url(需要帮助)

php curl访问http提供账号密码

我在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阅读内容?

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/667965
推荐阅读
相关标签
  

闽ICP备14008679号