Curl php со страницей википедии

Я хочу закодировать функцию php, которая соединяется с URL википедии и получить содержание статьи в википедии. Я использую cURL с php. Я имею в виду это блог .

Проблема в том, что функция не видит содержимое URL и возвращает ошибку.

Это мой код:

<?php
$wikipediaURL = 'http://fr.wikipedia.org/wiki/Megadeth';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $wikipediaURL);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_USERAGENT, 'Le blog de Samy Dindane (www.dinduks.com)');
$resultat = curl_exec ($ch);
curl_close($ch);
$wikipediaPage = new DOMDocument();
$wikipediaPage->loadHTML($resultat);
foreach($wikipediaPage->getElementsByTagName('div') as $div){
if($div->getAttribute('id') == "bodyContent"){
$description = '<p>' . $div->getElementsByTagName('p')->item(0)->nodeValue. '</p>';
$description = preg_replace('/\[[0-9]*\][,]|\[[0-9]*\]/', '', $description);
echo $description;    }}
?>

Это сообщение об ошибке:

Предупреждение: DOMDocument :: loadHTML (): пустая строка предоставляется в качестве входных данных в
C: \ wamp \ www \ Project1 \ wiki5.php в строке 12

Я использую другие примеры кода с той же функцией, и она не работает только с URL-адресом Википедии.

Любая помощь, пожалуйста!
Спасибо

0

Решение

Просто добавь CURLOPT_FOLLOWLOCATION вариант, и ваш код будет работать:

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $wikipediaURL);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, True);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);                                     # <----
curl_setopt($ch, CURLOPT_USERAGENT, 'Le blog de Samy Dindane (www.dinduks.com)');
$resultat = curl_exec ($ch);
curl_close($ch);
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]