File-get-contents failed to open stream Unauthorized

生来就可爱ヽ(ⅴ<●) 提交于 2019-11-28 06:26:21

问题


I am trying to use file_get_contents.I have made sure that allow_url_fopen is enabled in php.ini. As of now it is telling me:

[function.file-get-contents]: failed to open stream: HTTP request failed! HTTP/1.1 401 Unauthorized

All I'm doing is the following, which I can access through browser without a problem.

$url=('http://site/@api/users/=john_smith@site.com/properties');
$xmlString=file_get_contents($url);

I believe this is an authentication issue but not sure how I can supply the proper credentials from within the script itself. Any ideas would be greatly appreciated.


回答1:


In your url try:

http://user:password@site/ 

(append whatever the rest of the URL for your API should be)




回答2:


Just put the user info into the URL:

$url = 'http://user:password@domain.tld/foo/bar/whatever';



回答3:


The 401 Unauthorized status code means that you should have authenticated, but that you haven't, or that you have authenticated with the wrong credentials. It is most commonly used when using HTTP authentication, which is authentication built into the HTTP protocol, and therefore is universal, not only for HTML documents, but for anything transfered over the HTTP protocol.

To authenticate with HTTP authentication, simply add username:password@ before the hostname in the URL. For instance:

http://foobar:mysupersecretpassword@example.com/passwordprotected/

This would request the /passwordprotected/ directory from example.com with the username foobar and the password mysupersecretpassword.

It's not any worse than that. :)



来源:https://stackoverflow.com/questions/3566487/file-get-contents-failed-to-open-stream-unauthorized

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!