PHP基本身份验证文件\u获取\u内容()

PHP基本身份验证文件\u获取\u内容(),php,authentication,file-get-contents,Php,Authentication,File Get Contents,我需要解析一些来自网站的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\u get\u 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 );