我需要解析网站上的一些XML数据。XML数据是原始格式,但在此之前我需要进行验证(基于用户名和密码的基本Web服务器验证)。
我尝试过:
$homepage = file_get_contents('http://user:password@IP:PORT/folder/file');
但我得到了以下的错误:
无法打开流:HTTP请求失败!HTTP/1.0 401 未经授权
PHP似乎在身份验证方面存在问题。有什么想法可以解决这个问题吗?
我需要解析网站上的一些XML数据。XML数据是原始格式,但在此之前我需要进行验证(基于用户名和密码的基本Web服务器验证)。
我尝试过:
$homepage = file_get_contents('http://user:password@IP:PORT/folder/file');
但我得到了以下的错误:
无法打开流:HTTP请求失败!HTTP/1.0 401 未经授权
PHP似乎在身份验证方面存在问题。有什么想法可以解决这个问题吗?
您需要添加一个流上下文以获取请求中的额外数据。尝试类似以下未经测试的代码。它基于 PHP 文档中 file_get_contents()
的一个示例:
$auth = base64_encode("username:password");
$context = stream_context_create([
"http" => [
"header" => "Authorization: Basic $auth"
]
]);
$homepage = file_get_contents("http://example.com/file", false, $context );