PHP基本auth file_get_contents()

deh*_*niz 10 php authentication file-get-contents

我需要从网站解析一些XML数据.XML数据是原始格式,但在我需要验证之前(基本的基于webserver的auth,用户名和密码).

我试过了:

$homepage = file_get_contents('http://user:password@IP:PORT/folder/file');
Run Code Online (Sandbox Code Playgroud)

但是我收到以下错误:

无法打开流:HTTP请求失败!HTTP/1.0 401未经授权

PHP似乎在验证方面存在问题.知道如何解决这个问题吗?

mik*_*n32 34

您需要添加流上下文以获取请求中的额外数据.尝试类似以下未经测试的代码.它基于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 );
Run Code Online (Sandbox Code Playgroud)