Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.02.2016, 17:33   #1
Parallelogram
Недотепа
Форумчанин
 
Регистрация: 18.01.2011
Сообщений: 174
По умолчанию cURL что я делаю не так?

Здравствуйте! Хотел с помощью cURL открыть страницу авито, но у меня не получилось. Даже не знаю в чем причина.
$url_new2 - работает отлично, выводит содержимое страницы.
$url_new1 - ничего не выводит, даже ошибок.
PHP код:
function get_curl($link){
$ch_c curl_init();
curl_setopt($ch_cCURLOPT_URL$link);
curl_setopt($ch_cCURLOPT_RETURNTRANSFER1);
$content curl_exec($ch_c);
curl_close($ch_c);
return 
$content;
}

//$url_new1 = 'https://m.avito.ru/habarovsk/kvartiry/1-k_kvartira_33_m_15_et._6550719';
//$url_new2 = 'https://m.avito.ru/habarovsk/kvartiry/2-k_kvartira_48_m_55_et._87483430';
$content get_curl($url_new);
echo 
$content
Помогите, пожалуйста!
Parallelogram вне форума Ответить с цитированием
Старый 11.02.2016, 19:40   #2
pompiduskus
юзер как все
Участник клуба
 
Аватар для pompiduskus
 
Регистрация: 10.01.2012
Сообщений: 1,586
По умолчанию

Да действительно странный случай.

Думаю что тут подводный камень какой-то, возможно дело в URL.

Если использование CURLа не обязательно то как вариант можно так.

Проверял, работает


PHP код:
$url_new 'https://m.avito.ru/habarovsk/kvartiry/2-k_kvartira_48_m_55_et._87483430';

echo(
file_get_contents($url_new)); 
<Дзен - Вся вселенная в тебе > | Резюме: https://ch3ll0v3k.github.io/CV/
pompiduskus вне форума Ответить с цитированием
Старый 13.02.2016, 09:52   #3
Parallelogram
Недотепа
Форумчанин
 
Регистрация: 18.01.2011
Сообщений: 174
По умолчанию

Pompiduskus, там редирект идёт на ту же страницу, только без точки. Делал так, не помогло.
PHP код:
curl_setopt($chCURLOPT_FOLLOWLOCATIONtrue); 
Если перейти на страницу самому, то при редиректе Location: /habarovsk/kvartiry/1-k_kvartira_33_m_15_et_6550719
А если через curl, то Location: /habarovsk/kvartiry
Почему меняется Location?
PHP код:
if(preg_match('#location: (.*)#'$content$r))
$content trim($r[1]); 
Parallelogram вне форума Ответить с цитированием
Старый 13.02.2016, 15:25   #4
pompiduskus
юзер как все
Участник клуба
 
Аватар для pompiduskus
 
Регистрация: 10.01.2012
Сообщений: 1,586
По умолчанию

чесно говоря я не знаю. Может местные гуру CURLa знают ответ.
<Дзен - Вся вселенная в тебе > | Резюме: https://ch3ll0v3k.github.io/CV/
pompiduskus вне форума Ответить с цитированием
Старый 17.02.2016, 00:10   #5
rusell
Пользователь
 
Аватар для rusell
 
Регистрация: 30.03.2009
Сообщений: 20
По умолчанию

Код:
function get_curl($link){
        $ch_c = curl_init($link);
//      curl_setopt($ch_c, CURLOPT_URL, $link);
        curl_setopt($ch_c, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch_c, CURLOPT_FOLLOWLOCATION, true);
        curl_setopt($ch_c, CURLOPT_SSL_VERIFYPEER, 0);
        curl_setopt($ch_c, CURLOPT_SSL_VERIFYHOST, 0);
//      $content = curl_exec($ch_c);
//      curl_close($ch_c);
        return $ch_c;
}

        $url_new = 'https://m.avito.ru/habarovsk/kvartiry/1-k_kvartira_33_m_15_et._6550719';
//$url_new2 = 'https://m.avito.ru/habarovsk/kvartiry/2-k_kvartira_48_m_55_et._87483430';
        $ch = get_curl($url_new);
        
echo "<<<<<<<< Script started! <<<<<<<<<<<<\n\n";       

$content = curl_exec($ch);

echo $content;

$httpcode = curl_getinfo($ch, CURLINFO_HTTP_CODE);

echo "\n\n HTTP Code: ";
echo $httpcode;
echo "\n\n";
curl_close($ch);
echo "<<<<<<<< End of the script! <<<<<<<<<\n";
Проверил, работает. Пробуй!
Самый приятный момент в написании кода, это когда кажется, что код почти готов!
rusell вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Что я делаю не так? Kot070 Общие вопросы C/C++ 6 15.04.2014 13:22
Что не так делаю? ratqa Общие вопросы C/C++ 2 13.12.2012 16:54
Что не так я делаю? volha_alina Паскаль, Turbo Pascal, PascalABC.NET 2 23.05.2012 13:05
Что я делаю не так rj-45 Microsoft Office Excel 7 22.11.2011 10:21