2014-02-21 2 views
0

У меня есть код PHP, который извлекает фид атома в DOMDocument (подача не сохраняются в файл)Базовая аутентификация при загрузке корма с DOMDocument

Мне нужно, чтобы начать использовать базовую аутентификацию для получения корма.

Возможно ли, или мне нужно сначала сохранить файл в файл?

Мой рабочий код:

$doc = new DOMDocument(); 
$doc->load($feedurl); 
$feed = $doc->getElementsByTagName("entry"); 

Я попытался это:

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


$doc = new DOMDocument(); 
$doc->load($feedurl, context); 
$feed = $doc->getElementsByTagName("entry"); 

Но это не работает (я получаю пустой $doc)

Кто знает, как это сделать?

ответ

0

Вы должны использовать Еореп читать корм и передавать содержание в DOMDocument непосредственно, как это:

$opts = array (
     'http' => array (
       'method' => "GET", 
       'header' => "Authorization: Basic " . base64_encode ("$username:$password") . 
         "\r\n" 
     ) 
); 

$context = stream_context_create ($opts); 

//read the feed 
$fp = fopen ($feedurl, 'r', false, $context); 

//here you got the content 
$context = stream_get_contents ($fp); 

fclose ($fp); 

$doc = new DOMDocument(); 

//load the content 
$doc->loadXML ($context); 

Кроме того, PHP локон лучше FOPEN, увидеть это: How do I make a request using HTTP basic authentication with PHP curl?

 Смежные вопросы

  • Нет связанных вопросов^_^