Скрыть объявление
ВАШИ ПРАВА ОГРАНИЧЕНЫ!

Зарегистрируйтесь на форуме, чтобы стать полноценным участником сообщества!

Curl и proxy - вопрос прогерам

Тема в разделе "Вопросы- ответы", создана пользователем drummer34, 9 авг 2016.

09.08.16 в 13:14
09.08.16 в 14:15
7
10.609
0
  1. TopicStarter Overlay
    drummer34

    Команда форума VIP Кинотрафик v2

    Регистрация:
    24 авг 2015
    Сообщения:
    177
    Лучших ответов:
    0
    Рейтинги:
    +50 / 0 / -0
    Короче, пользуюсь своим простым парсером на php.
    хочу подключить curl через прокси, т.к. сайт kinopoisk.ru вчера забанил... и теперь выдает ошибку 301.

    Кто знает где брать прокси? и как подключать?

    Я беру на сайте http://spys.ru бесплатный анонимный (HIA) прокси, подключаю вот так:
    CURLOPT_PROXY => '176.106.145.122:8080'
    пробовал разные ip-адреса, все равно ошибка 301.

    в то время как на другом хостинге этот код работает.

    function file_get_contents_curlkp($kpurl) {

    $curl = curl_init();
    $proxy='176.106.145.122:8080';
    $header[0] = "Accept: text/xml,application/xml,application/xhtml+xml,";
    $header[0] .= "text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5";
    $header[] = "Cache-Control: max-age=0";
    $header[] = "Connection: keep-alive";
    $header[] = "Keep-Alive: 300";
    $header[] = "Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7";
    $header[] = "Accept-Language: en-us,en;q=0.5";
    $header[] = "Pragma: ";
    curl_setopt_array($curl, array(
    CURLOPT_URL => $kpurl,
    CURLOPT_PROXY => '176.106.145.122:8080',
    CURLOPT_USERAGENT => 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:48.0) Gecko/20100101 Firefox/48.0',
    CURLOPT_HTTPHEADER => $header,
    CURLOPT_REFERER => 'http://www.kinopoisk.ru',
    CURLOPT_AUTOREFERER => true,
    CURLOPT_FAILONERROR => true,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CONNECTTIMEOUT => 120,
    CURLOPT_FOLLOWLOCATION => 0,
    CURLOPT_HEADER => false,
    CURLOPT_TIMEOUT => 20
    ));
    $kpcontent = curl_exec($curl);
    print_r(curl_getinfo($curl));
    if($kpcontent === false) {
    echo 'Ошибка curl: ' . curl_error($curl);
    } else {
    echo ' curl OK ';
    }
    curl_close($curl);
    return $kpcontent;
    }

    $id = "222333";
    $kp_url_film = "http://www.kinopoisk.ru/film/".$id."/";
    $kpcontent = file_get_contents_curlkp( $kp_url_film );
    var_dump($kpcontent);
     
  2. Gar1k

    Gar1k Бывалый

    Регистрация:
    28 янв 2016
    Сообщения:
    647
    Лучших ответов:
    0
    Рейтинги:
    +87 / 6 / -0
    а сколько ты запросов в сутки делал что тебя забанил?
     
  3. TopicStarter Overlay
    drummer34

    Команда форума VIP Кинотрафик v2

    Регистрация:
    24 авг 2015
    Сообщения:
    177
    Лучших ответов:
    0
    Рейтинги:
    +50 / 0 / -0
    точно не помню, где-то 100-200 запросов за 15 минут.
     
  4. Gar1k

    Gar1k Бывалый

    Регистрация:
    28 янв 2016
    Сообщения:
    647
    Лучших ответов:
    0
    Рейтинги:
    +87 / 6 / -0
    укаеть:eek:
     
  5. Pavel

    Pavel Местный

    Регистрация:
    7 ноя 2015
    Сообщения:
    1.680
    Лучших ответов:
    0
    Рейтинги:
    +785 / 0 / -0
    Код 301, это не ошибка - это редирект. У них сменился протокол, раньше работали по http теперь по https правда у меня эта проблема была где то с недели 2 назад.

    Помогли вот эти опции
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);

    Только парсить надо теперь через https
     
    • Нравится Нравится x 2
  6. Pavel

    Pavel Местный

    Регистрация:
    7 ноя 2015
    Сообщения:
    1.680
    Лучших ответов:
    0
    Рейтинги:
    +785 / 0 / -0
    Короче вот чем я качаю:


    Код:
    function getContByUrl($url,$proxy=NULL){
                    $ch=curl_init();
                    curl_setopt($ch,CURLOPT_URL,$url);
                    curl_setopt($ch,CURLOPT_TIMEOUT,10);
                   curl_setopt($ch,CURLOPT_USERAGENT,"Mozilla/5.0 (Windows; U; Windows NT 5.1; ru-RU; rv:1.7.12) Gecko/".rand(10000000, 25000000)." Firefox/1.0.7");
                    curl_setopt ($ch,CURLOPT_RETURNTRANSFER,1);
                    curl_setopt($ch, CURLOPT_REFERER, "http://www.kinopoisk.ru/");
                    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
                    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
                    if($proxy){
                        curl_setopt($ch, CURLOPT_PROXY, $proxy);
                    }
                 
                    $headers = array(
                        "Content-type: text/xml;charset=\"utf-8\"",
                        "Accept: text/xml",
                        "Accept-Language: ru",
                        "Accept-Charset: utf-8",
                        "Accept-Encoding: deflate",
                        "Accept-Ranges: bytes",
                        "Cache-Control: no-cache",
                     );
                    curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
                    $content = curl_exec($ch);
                     return $content;
            }
    В функции второй параметр как раз прокси, подавать в виде '176.106.145.122:8080'

    правда сам работаю без проксей, но когда еще было http - пробовал, работает.
     
    • Нравится Нравится x 1
  7. Gar1k

    Gar1k Бывалый

    Регистрация:
    28 янв 2016
    Сообщения:
    647
    Лучших ответов:
    0
    Рейтинги:
    +87 / 6 / -0
    почему у меня нет,работает все исправно
     
  8. TopicStarter Overlay
    drummer34

    Команда форума VIP Кинотрафик v2

    Регистрация:
    24 авг 2015
    Сообщения:
    177
    Лучших ответов:
    0
    Рейтинги:
    +50 / 0 / -0
    @Pavel, О спасибо тебе добр человек! Я даже не заметил, что протокол сменился. Твой код работает без всяких прокси!
    просто надо прописать https
    а это значит, что кинопоиск не забанил мой ip :)
     
Похожие темы
  1. Sasha K-G
    Ответов:
    56
    Просмотров:
    10.930
  2. valey81
    Ответов:
    18
    Просмотров:
    1.598
  3. Snabs
    Ответов:
    15
    Просмотров:
    3.083
  4. Narek
    Ответов:
    5
    Просмотров:
    1.394
  5. Winston?!
    Ответов:
    2
    Просмотров:
    569
Загрузка...
Яндекс.Метрика