Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.68/117: Рейтинг темы: голосов - 117, средняя оценка - 4.68
8 / 8 / 5
Регистрация: 28.11.2012
Сообщений: 99
1

Curl не выводит ничего

20.03.2014, 15:16. Показов 23130. Ответов 28
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
всем привет нужна ваша помощь,, пытаюсь вывести страницу авито , выдаёт пустую страницу не знаю чего и делать
PHP
1
2
3
4
5
6
7
8
9
10
11
<?php 
  // Иницализация библиотеки curl 
$ch = curl_init(); 
    curl_setopt($ch, CURLOPT_URL, 'http://www.avito.ru/'); 
    curl_setopt($ch, CURLOPT_HEADER, false); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
    curl_setopt($ch, CURLOPT_USERAGENT, 'PHP Bot'); 
    $data = curl_exec($ch); 
    echo $data; 
    curl_close($ch); 
?>
пробовал пройти авторизацию тоже чёто не то всё пусто, что я делаю не так??

PHP
1
2
3
4
5
6
7
8
9
10
11
<?php  
  // HTTP авторизация  
  $url = "https://www.avito.ru/profile/login?next=%2Fprofile";  
  $ch = curl_init();      
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);   
  curl_setopt($ch, CURLOPT_URL, $url);   
  curl_setopt($ch, CURLOPT_USERPWD, "wrfrwef@wf.ru:lagrei666");   
  $result = curl_exec($ch);   
  curl_close($ch);   
  echo $result;  
?>
кароч не чё не работае и не чё не показывает, кто чё подскжет
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.03.2014, 15:16
Ответы с готовыми решениями:

Код ничего не выводит
Почему то ничего не выводит хотя должен выводить при любой ситуации, даже если переменных нету (...

Echo ничего не выводит
Помогите пожалуйста не могу разобраться почему echo ничего не выводит, вот весь код: &lt;!DOCTYPE...

Код ничего не выводит на экран
Здравствуйте! Код ничего не выводит на экран, подскажите пожалуйста куда копать public...

Функция print_r ничего не выводит
Добрый день. Создаю профиль пользователя на сайте. Ниже, страница с формой загрузки аватарки. ...

28
71 / 38 / 23
Регистрация: 05.12.2013
Сообщений: 118
20.03.2014, 16:05 2
lagrei66, первый скрипт у меня отработал, вывел главную страницу avito. Смотри, что у тебя в настройках сервера, если точно не выводит. Может, какая ошибка, которая не отображается.. Могу предположить, что curl, например, не подключен как библиотека к php =D
PHP
1
2
error_reporting(E_ALL);
ini_set('display_errors', 1);
стоит?
1
8 / 8 / 5
Регистрация: 28.11.2012
Сообщений: 99
20.03.2014, 16:08  [ТС] 3
Цитата Сообщение от c_k_rim Посмотреть сообщение
error_reporting(E_ALL);
ini_set('display_errors', 1);

никакого результата так же пустая страница
0
71 / 38 / 23
Регистрация: 05.12.2013
Сообщений: 118
20.03.2014, 16:42 4

PHP
1
2
3
4
5
6
<?
if (!extension_loaded('curl')) {
    echo 'CURL`а нема';
    die();
}
?>
1
Заблокирован
20.03.2014, 16:45 5
lagrei66, а у меня выводит в браузер Ваш вариант получения этой страницы.
Я недавно сталкивалась с этой проблемой в похожей теме. Может так у Вас получится?
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
 error_reporting(E_ALL & ~E_WARNING);
$opts = array(
    'socket' => array(
        'bindto' => '80.76.156.73:7000',
    ),
);
 
$context = stream_context_create($opts);
 
$get = file_get_contents('http://www.avito.ru/', false, $context);
echo  $get;  
?>
1
8 / 8 / 5
Регистрация: 28.11.2012
Сообщений: 99
20.03.2014, 16:58  [ТС] 6
Цитата Сообщение от c_k_rim Посмотреть сообщение
<?
if (!extension_loaded('curl')) {
* * echo 'CURL`а нема';
* * die();
}
?>

Цитата Сообщение от Танкья Посмотреть сообщение
<?php
*error_reporting(E_ALL & ~E_WARNING);
$opts = array(
* * 'socket' => array(
* * * * 'bindto' => '80.76.156.73:7000',
* * ),
);
$context = stream_context_create($opts);
$get = file_get_contents('http://www.avito.ru/', false, $context);
echo *$get; *
?>
оба варианта ничего не вывели, так же пустая страница
0
Заблокирован
20.03.2014, 17:15 7
Лучший ответ Сообщение было отмечено lagrei66 как решение

Решение

Так уже точно выведет. Я использовала прокси-сервер и проверила)
PHP
1
2
3
4
5
6
7
8
9
10
11
12
<?php
  // Иницализация библиотеки curl
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, 'http://www.avito.ru/');
    curl_setopt($ch, CURLOPT_HEADER, false);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    //curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0');
    curl_setopt($ch, CURLOPT_PROXY, '176.215.1.224:3128');
    $data = curl_exec($ch);
    echo $data;
    curl_close($ch);
?>
Вероятно проблемы с айпи-адресом. Потому что, как я уже говорила и Ваш код у меня выводил страницу.
1
8 / 8 / 5
Регистрация: 28.11.2012
Сообщений: 99
20.03.2014, 17:41  [ТС] 8
да ваш скрипт заработал, спасибо
Цитата Сообщение от Танкья Посмотреть сообщение
Вероятно проблемы с айпи-адресом
а что может быть с айпишником
0
Заблокирован
20.03.2014, 17:52 9
Цитата Сообщение от lagrei66 Посмотреть сообщение
а что может быть с айпишником
Даже не знаю. На моем айпи выводилась страница в браузер с Вашим кодом. Пробовала на разных прокси-серверах и на некоторых, как Вы говорили, отображалась пустая страница.
1
8 / 8 / 5
Регистрация: 28.11.2012
Сообщений: 99
21.03.2014, 18:21  [ТС] 10
всё равно ни чего не получается
нашол такой скрипт авторизации и снова выводит пустую страницу

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
error_reporting(E_ALL);
ini_set('display_errors', 1);
 
$url = 'http://www.avito.ru';                        // Куда зайти
$urlTo = 'https://www.avito.ru/profile/login';    // Куда данные послать
$login = 'wrfrwef@wf.ru';                          // Логин
$password = 'lagrei666';                            // Пароль  
$post = 'login=' . $login . '&password=' . $password. '&submit';    // POST данные
 $ch = curl_init();                              // Инициализация сеанса
curl_setopt($ch, CURLOPT_URL, $url);            // Заходим на сайт
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // Приказываем вернуть страницу в переменную
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_PROXY, '212.220.110.238:8080');
 
$html = curl_exec($ch); 
 
curl_setopt($ch, CURLOPT_URL, $urlTo);              // Куда шлем POST данные
curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie.txt');  // Записываем cookie
curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookie.txt'); // Читаем cookies
curl_setopt($ch, CURLOPT_POST, true);               // Указываем метод отправки
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);        // POST данные
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);     // Говорим скрипту, чтобы он следовал за редиректами которые происходят во время авторизации
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_PROXY, '212.220.110.238:8080');
$html = curl_exec($ch); // Забираем страницу
curl_close($ch);        // Завершаем сеанс
echo $html;             // Оказываемся в вашем аккаунте
Добавлено через 2 минуты
поменял прокси тоже не фурычит

Добавлено через 11 минут
кстати там используется enctype="multipart/form-data" это может как то влиять??

Добавлено через 13 часов 6 минут
чего делать то

Добавлено через 7 часов 30 минут
может я ip не так как то поставил
0
142 / 142 / 27
Регистрация: 19.12.2011
Сообщений: 250
21.03.2014, 18:54 11
Стоит обрабатывать ошибки, и error_reporting(E_ALL) вам не поможет в данном случае:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
$page = array();
$page['html'] = curl_exec($ch);
$page['err'] = curl_errno($ch);
$page['errmsg'] = curl_error($ch);
$page['header'] = curl_getinfo($ch);
if (($page['header']['http_code'] == 200) and $page['html'] != ''){
    echo $page['html'];
} else {
    echo " Ошибка получения страницы: {$page['err']}. HTTP CODE {$page['header']['http_code']}</br>";
    echo " {$page['errmsg']}</br>";
    echo " Url: {$page['header']['url']}</br>";
    echo " Время скачивания: {$page['header']['total_time']}</br>";
}
1
8 / 8 / 5
Регистрация: 28.11.2012
Сообщений: 99
21.03.2014, 19:31  [ТС] 12
вышло вот что
Ошибка получения страницы: 7. HTTP CODE 0
couldn't connect to host
Url: https://www.avito.ru/profile/login
Время скачивания: 0.06014

что за ошибка 7 и не могли подключиться
0
142 / 142 / 27
Регистрация: 19.12.2011
Сообщений: 250
21.03.2014, 19:41 13
Цитата Сообщение от lagrei66 Посмотреть сообщение
что за ошибка 7 и не могли подключиться
7 - couldn't connect to host

Вариантов много:
  • либо IP прокси заблокировали на стороне avito, потому что не вы один желаете их парсить, а лишняя нагрузка и без того нагруженному сервису не нужна.
  • либо прокси не рабочая уже
  • либо еще что-то
1
8 / 8 / 5
Регистрация: 28.11.2012
Сообщений: 99
21.03.2014, 22:27  [ТС] 14
а что вот это означает

Ошибка получения страницы: 0. HTTP CODE 403

Url: https://www.avito.ru/profile/login
Время скачивания: 0.238594
0
142 / 142 / 27
Регистрация: 19.12.2011
Сообщений: 250
21.03.2014, 22:41 15
Цитата Сообщение от lagrei66 Посмотреть сообщение
HTTP CODE 403
Список кодов состояния HTTP
1
8 / 8 / 5
Регистрация: 28.11.2012
Сообщений: 99
21.03.2014, 23:25  [ТС] 16
ну а что тогда мне сделать чтобы всё заработало

Добавлено через 2 минуты
без post , если просто вывести главную страницу он выводит, а если с postом авторизации, то нет couldn't connect to host,, ip не заблокирован всё рабочее может в скрипте всётаки дело
0
Не мoдepaтор
340 / 315 / 94
Регистрация: 07.07.2012
Сообщений: 1,040
Записей в блоге: 7
22.03.2014, 06:47 17
Лучший ответ Сообщение было отмечено lagrei66 как решение

Решение

Держите, у меня отрабатывает отлично
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="ru" xml:lang="ru">
<head>
<meta http-equiv="Content-type" content="text/html; charset=UTF-8" />
 
<?php
$urlOut = 'https://www.avito.ru/profile';      // Куда данные послать
$urlTo = 'https://www.avito.ru/profile/login?next=%2Fprofile';      // Куда данные послать
$login = 'wr***ef@w*.ru';                          // Логин
$password = 'lag***66';                            // Пароль  
$auth = 'login='.$login.'&password='.$password;    // POST данные
$ch = curl_init();                                 // Инициализация сеанса
curl_setopt($ch, CURLOPT_URL, $urlTo);
curl_setopt($ch, CURLOPT_HEADER, 1);    // получать заголовки
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT,30);
curl_setopt($ch, CURLOPT_USERAGENT,'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.154 Safari/537.36');
curl_setopt($ch, CURLOPT_REFERER, 'http://www.avito.ru');
curl_setopt($ch, CURLOPT_POST,1);
curl_setopt($ch, CURLOPT_COOKIEJAR,$_SERVER['DOCUMENT_ROOT'].'/cookiefile.txt');
curl_setopt($ch, CURLOPT_POSTFIELDS, $auth);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);     // Говорим скрипту, чтобы он следовал за редиректами которые происходят во время авторизации
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, true);
curl_setopt ($ch, CURLOPT_HTTPHEADER, array('Expect:')); // это необходимо, чтобы cURL не высылал заголовок на ожидание
$result = curl_exec($ch);
 
curl_setopt($ch, CURLOPT_URL, $urlOut);
curl_setopt($ch, CURLOPT_HEADER, 0);    // получать заголовки
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT,30);
curl_setopt($ch, CURLOPT_USERAGENT,'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.154 Safari/537.36');
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_COOKIEFILE,$_SERVER['DOCUMENT_ROOT'].'/cookiefile.txt');
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);     // Говорим скрипту, чтобы он следовал за редиректами которые происходят во время авторизации
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, true);
$result = curl_exec($ch); // Забираем страницу
 
curl_close($ch);         // Завершаем сеанс
?>
 
</head>
<body>
 
<?php echo $result;  // Оказываемся в вашем аккаунте ?>
 
</body>
</html>
1
8 / 8 / 5
Регистрация: 28.11.2012
Сообщений: 99
22.03.2014, 16:04  [ТС] 18
а почему не выводит картинку капчи получается квадрат
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, 'https://www.avito.ru/registration');
    curl_setopt($ch, CURLOPT_HEADER, false);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT,30);
    curl_setopt($ch, CURLOPT_COOKIEFILE,$_SERVER['DOCUMENT_ROOT'].'cookiefile.txt');
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
    curl_setopt($ch, CURLOPT_USERAGENT,'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.154 Safari/537.36');
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, true);
    curl_setopt($ch, CURLOPT_REFERER, 'http://www.avito.ru');
    curl_setopt($ch, CURLOPT_PROXY, '217.8.95.168:8080');
    $data = curl_exec($ch);
    echo $data;
    curl_close($ch);
?>
Миниатюры
Curl не выводит ничего  
0
8 / 8 / 5
Регистрация: 28.11.2012
Сообщений: 99
22.03.2014, 20:02  [ТС] 19
как её вывести или загрузить для обработки???

Добавлено через 1 час 39 минут
я так понил вычитал что нужно и страницу и капчу как то одним запросом забирать

Добавлено через 2 минуты
а не хотя наоборот так никак не получется

Добавлено через 1 час 25 минут
в файле с куками сохраняется номер ссылки
Set-Cookie: v=1395500723;

в исходном это так
src="/captcha?1395500723"

может как то выводить

Добавлено через 37 минут
кароче сделал вот так
один чёрт квадрат вместо картинки, что может быть не так ссылка правильная почему картинку не показывает???

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<?php
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, 'https://www.avito.ru/registration');
    curl_setopt($ch, CURLOPT_HEADER, 1);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT,15);
    curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie.txt');  // Записываем cookie
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0);
    curl_setopt($ch, CURLOPT_USERAGENT,'Opera 20.0');
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, true);
    curl_setopt($ch, CURLOPT_PROXY, '217.8.95.168:8080');
    $data = curl_exec($ch);
 
    curl_setopt($ch, CURLOPT_URL, 'https://www.avito.ru/registration');
    curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookie.txt'); // Читаем куки
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT,15);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0);
    curl_setopt($ch, CURLOPT_USERAGENT,'Opera 20.0');
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, true);
    curl_setopt($ch, CURLOPT_PROXY, '217.8.95.168:8080');
    $data = curl_exec($ch);
    
  $offset = strpos($data, '/captcha?');
  $sid = substr($data, $offset+9, 10);    // sid получен
  echo "<img src=https://www.avito.ru/captcha?".$sid.">";
    curl_close($ch);
?>
Добавлено через 11 минут
кароч пипец взрыв мозга,не знаю чё делать
0
Не мoдepaтор
340 / 315 / 94
Регистрация: 07.07.2012
Сообщений: 1,040
Записей в блоге: 7
22.03.2014, 22:17 20
Взять картинку некак, при попытке обращения к ней, выдает ошибку 403, это говорит о защите.
Одним словом, получить доступ со стороннего ресурса невозможно!
1
22.03.2014, 22:17
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.03.2014, 22:17
Помогаю со студенческими работами здесь

Функция без параметров ничего не выводит
такая функция просто чтоб не дублировать код function getResultMatch() { if...

PHP. Почему то ничего не выводит в теле странице, только шапка и подвал
Подскажите плиз... у меня почему-то не выводит на экран не то и не другой файл phtml, то есть...

на веб странице ничего не отображает просто белый квадрат вместо аплета, без ошибок просто ничего не выводит
Всем привет ! ! ! :drink: Создаю applet с jfreechart: import org.jfree.chart.JFreeChart;...

CURL ничего не возвращает
Добрый день. Задача стоит следующая - собрать номера телефонов на небезызвестной доске. Посмотрел,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru