Как правильно получить Twitter XML для сайта Flash через php - PullRequest
0 голосов
/ 19 мая 2010

Использую ли я TwitterScript для извлечения данных из Twitter внутри Flash-сайта. Из-за междоменной политики Twitter мне нужно настроить php прокси ... Сначала я сделал простой

<?php 
$url = $_GET['url'];
readfile($url);
?>

но я тогда получаю эту ошибку

URL file-access is disabled in the server configuration

, который разрешается только путем включения моего хоста в fopen (), чего я не хочу делать.

Тогда я нашел это

<?php

function get_content($url)
{
$ch = curl_init();

curl_setopt ($ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_HEADER, 0);

ob_start();

curl_exec ($ch);
curl_close ($ch);
$string = ob_get_contents();

ob_end_clean();

return $string;    
}

#usage:
$url = $_GET['url'];
$content = get_content ($url);
var_dump ($content);
?>

, которая решает эту проблему, но теперь данные представляют собой правильный XML, но выглядит так:

string(39950) "<?xml version="1.0" encoding="UTF-8"?>
<statuses type="array">
<status>
...
</statuses>"

Как мне получить данные XML из этой строки?

1 Ответ

1 голос
/ 19 мая 2010

Ваша проблема в том, что вы используете var_dump (), когда хотите вывести результат.Просто используйте echo вместо этого.Также вам не нужна буферизация вывода для получения содержимого сайта.

Фиксированный код

<?php

function get_content($url)
{
$ch = curl_init();

curl_setopt ($ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_HEADER, 0);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, true);

$string = curl_exec ($ch);
curl_close ($ch);

return $string;    
}

#usage:
$url = $_GET['url'];
$content = get_content ($url);
echo $content;
?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...