通过HTTP访问进行身份验证以使用PHP查看RSS?

时间:2014-04-23 18:16:47

标签: php

我需要通过PHP查看RSS的内容,但问题是它需要使用用户名和密码进行身份验证,我拥有凭据。

如何在文件中打印内容?

这是我访问Feed页面时获得的内容

enter image description here

2 个答案:

答案 0 :(得分:2)

cURL可能对您有用,可以获取RSS源的内容。请特别注意CURLOPT_USERPWD选项:

$process = curl_init($host);
curl_setopt($process, CURLOPT_HTTPHEADER, array('Content-Type: application/xml', $additionalHeaders));
curl_setopt($process, CURLOPT_HEADER, 1);
curl_setopt($process, CURLOPT_USERPWD, $username . ":" . $password);
curl_setopt($process, CURLOPT_TIMEOUT, 30);
curl_setopt($process, CURLOPT_POST, 1);
curl_setopt($process, CURLOPT_POSTFIELDS, $payloadName);
curl_setopt($process, CURLOPT_RETURNTRANSFER, TRUE);
$return = curl_exec($process);
curl_close($process);

有关详细信息,请查看this SO question

答案 1 :(得分:1)

要获取具有身份验证标头(基本身份验证)的文件内容,您可以执行以下操作:

<?php

$url = 'http://www.thelinktorss.com/feed.xml';
$username = 'USER';
$password = 'PASS';

$context = stream_context_create(array('http' => array('header'  => "Authorization: Basic " . base64_encode($username . ':' . $password))));

$feed = file_get_contents($url, false, $context);

echo $feed;