Я получаю эту ошибку при использовании расширений curl Ошибка Curl: не удалось разрешить хост: http://rss.news.yahoo.com; Нет записи данных запрошенного типа - PullRequest
0 голосов
/ 08 июля 2010
<?php

ini_set("display_errors", 1); 
error_reporting(E_ALL);

define ('HOSTNAME', 'http://rss.news.yahoo.com/rss/world');

//$path = ($_POST['rss_path']) ? $_POST['rss_path'] : $_GET['rss_path'];
//$url = HOSTNAME.$path;
$url = HOSTNAME;

// Open the Curl session
$session = curl_init();
curl_setopt($session, CURLOPT_URL, $url);


// If it's a POST, put the POST data in the body
/*
if (isset($_POST['rss_path'])) {
    $postvars = '';
    while ($element = current($_POST)) {
        $postvars .= urlencode(key($_POST)).'='.urlencode($element).'&';
        next($_POST);
    }
    curl_setopt ($session, CURLOPT_POST, true);
    curl_setopt ($session, CURLOPT_POSTFIELDS, $postvars);
}
*/

curl_setopt ($session, CURLOPT_POST, true);
curl_setopt($session, CURLOPT_HEADER, false);
curl_setopt($session, CURLOPT_RETURNTRANSFER, true);



$xml = curl_exec($session);

 if(curl_errno($session)) {
  echo 'Curl error: ' . curl_error($session);
} 



header("Content-Type: text/xml");

echo $xml;
curl_close($session);

?>

Есть идеи?

1 Ответ

0 голосов
/ 08 июля 2010

http://rss.news.yahoo.com/rss/world не является именем хоста.Часть хоста - rss.news.yahoo.com.

Тем не менее, ваш код работает (что оставлено в комментариях).См. http://codepad.viper -7.com / j1U3jC

Тим делает хорошую мысль.Вы не должны делать запрос POST.Даже если он «работает», он мешает кешировать запрос.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...