我正在尝试使用file_get_contents。我确保在php.ini中启用了allow_url_fopen。截至目前,它告诉我:
[function.file-get-contents]:无法打开流:HTTP请求失败! HTTP / 1.1 401未经授权
我所做的就是以下内容,我可以通过浏览器轻松访问。
$url=('http://site/@api/users/=john_smith@site.com/properties');
$xmlString=file_get_contents($url);
我认为这是一个身份验证问题,但不确定如何从脚本本身提供正确的凭据。任何想法将不胜感激。
答案 0 :(得分:12)
在您的网址中尝试:
http://user:password@site/
(附加API的其余URL应该是
)答案 1 :(得分:5)
只需将用户信息放入网址:
$url = 'http://user:password@domain.tld/foo/bar/whatever';
答案 2 :(得分:4)
401 Unauthorized
状态代码表示您应该已经过身份验证,但您没有,或者您已使用错误的凭据进行了身份验证。它最常用于使用HTTP身份验证,这是HTTP协议中内置的身份验证,因此不仅适用于HTML文档,而且适用于通过HTTP协议传输的任何内容。
要通过HTTP身份验证进行身份验证,只需在URL中的主机名前添加 username:password@
即可。例如:
http://foobar:mysupersecretpassword@example.com/passwordprotected/
这会从/passwordprotected/
请求example.com
目录,其中包含用户名foobar
和密码mysupersecretpassword
。
这并不比这更糟糕。 :)