PHP + cURL не работает - PullRequest
       4

PHP + cURL не работает

0 голосов
/ 03 октября 2011

Попытка получить содержимое определенного URL с помощью cURL и PHP.Код должен выполняться на сервере веб-хостинга проекта sourceforge.net.

код:

<?php

function get_data($url)
{
  $ch = curl_init();
  $timeout = 10;
  curl_setopt($ch,CURLOPT_URL,$url);
  curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
  curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,$timeout);
  $data = curl_exec($ch);
  curl_close($ch);
  return $data;
}

$url1 = urlencode("http://www.google.com"); 
$url2 = "http://www.google.com";
$output = get_data($url2);
echo $output;

?>

Я проверил, поддерживается ли cURL.Но приведенный выше код не работает, страница загружается до истечения времени ожидания без вывода.Я также пробовал закодированный URL.Почему?

Ошибка 503 Service Unavailable.PHP версия 5.3.2

Ответы [ 2 ]

5 голосов
/ 03 октября 2011

Возможно, вы захотите использовать file_get_contents

$content = file_get_contents('http://www.google.com');
/some code here if needed/
return $content;

Вы также можете установить файлы внутри file_get_contents, например:

$content = file_get_contents('textfile.txt');

Дополнительная информация о функции file_get_conents

Некоторая информация, которую я заметил при работе с cUrl:

Одна вещь, которую я также заметил при работе с cUrl, это то, что она работает по-разному, когда URL имеет http или https.Вы должны убедиться, что ваш код может справиться с этим

4 голосов
/ 03 октября 2011

Я заменил свой код curl на ваш, и он не работает.Я попытался с "gmail.com", и он показал, хорошо с моим кодом, а с вашим выдал ошибку "301 Moved".

Мой код выглядит следующим образом:

<code>function get_web_page($url)
{
        //echo "curl:url<pre>".$url."

"; $ options = array (CURLOPT_RETURNTRANSFER => true, // вернуть веб-страницу CURLOPT_HEADER => false, // не возвращать заголовкиCURLOPT_FOLLOWLOCATION => true, // следовать за перенаправлениями CURLOPT_ENCODING => "", // обрабатывать все кодировки CURLOPT_USERAGENT => "spider", // кто я CURLOPT_AUTOREFERER => true, // установить реферер на перенаправление CURLOPT_CUTвремя ожидания при подключении CURLOPT_TIMEOUT => 15, // время ожидания при ответе CURLOPT_MAXREDIRS => 10, // остановка после 10 перенаправлений); $ ch = curl_init ($ url); curl_setopt_array ($ ch, $ options); $ content = curl_exec ($ch); $ err = curl_errno ($ ch); $ errmsg = curl_error ($ ch); $ header = curl_getinfo ($ ch, CURLINFO_EFFECTIVE_URL); curl_close ($ ch); $ header ['errno'] = $ err; $header ['errmsg'] = $ errmsg; // изменить здесь errmsg на errno if ($ errmsg) {echo "CURL:". $ errmsg. "
";} return $ content;}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...