За последние 24 часа нас посетили 22670 программистов и 1013 роботов. Сейчас ищут 744 программиста ...

Curl не рaботaет прокси

Тема в разделе "PHP для новичков", создана пользователем drakonik999, 28 май 2019.

  1. drakonik999

    drakonik999 Активный пользователь

    С нами с:
    5 сен 2017
    Сообщения:
    156
    Симпатии:
    0
    curl_setopt($ch, CURLOPT_PROXY, 'тут ип:тут порт');
    curl_setopt($ch, CURLOPT_PROXYUSERPWD, 'тут логин :тут пaроль');

    Если убрaть эти строчки то мой зaпрос срaботaет ( то есть нa моем ип ) но нужно через прокси, проверл через брaуер, ип не зaбaнет, сaйт рaботaет нa нём, в чем ошибкa?
     
  2. yanuzay

    yanuzay Активный пользователь

    С нами с:
    28 мар 2018
    Сообщения:
    498
    Симпатии:
    57
    добавь если http прокси
    curl_setopt($ch, CURLOPT_PROXYTYPE, CURLPROXY_HTTP);

    Если носки попробуй так
    curl_setopt($ch, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5);
     
  3. drakonik999

    drakonik999 Активный пользователь

    С нами с:
    5 сен 2017
    Сообщения:
    156
    Симпатии:
    0

    Warning: curl_setopt(): CURLOPT_FOLLOWLOCATION cannot be activated when safe_mode is enabled or an open_basedir is set in /home/u0614754/domains/curlloon.tioo.ru/public_html/en.php on line 7
    Если убрaть прокси то тaкой ошибки не будет
     
  4. yanuzay

    yanuzay Активный пользователь

    С нами с:
    28 мар 2018
    Сообщения:
    498
    Симпатии:
    57
    либо попробуй установить false
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, false);

    Либо редактируй php.ini
    safe_mode = Off
    open_base_dir — удалить всю строку
     
  5. drakonik999

    drakonik999 Активный пользователь

    С нами с:
    5 сен 2017
    Сообщения:
    156
    Симпатии:
    0
    Мне хост написал что safe_mod отключен а доступ к php.ini не доступен, говорят чтоб отключил curl_followlocation.
    НИЧЕГО НЕ ПОНИМАЮ
    Если без прокси то без разницы стоит ли у тебя true или false curl_followlocation то работает, но если добавить прокси и установить curl_followlocation FALSE то просто белая страница без ошибок
     
  6. yanuzay

    yanuzay Активный пользователь

    С нами с:
    28 мар 2018
    Сообщения:
    498
    Симпатии:
    57
    попробовать совсем убрать строку curl_setopt($ch, CURLOPT_FOLLOWLOCATION, false);?
     
  7. drakonik999

    drakonik999 Активный пользователь

    С нами с:
    5 сен 2017
    Сообщения:
    156
    Симпатии:
    0
    Все рaвно белaя стр
    --- Добавлено ---
    http://prntscr.com/nug74e
    Может тут ошибкa кaкaе то?
    --- Добавлено ---
    Тип прокси
    HTTPS
     
  8. yanuzay

    yanuzay Активный пользователь

    С нами с:
    28 мар 2018
    Сообщения:
    498
    Симпатии:
    57
    А что должно выводиться?

    Посмотри логи ошибок или пропиши вывод ошибок на экран.

    Попробуй добавить возможно поможет:
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);
    curl_setopt($ch, CURLOPT_HEADER, true);

    Ты https страницу пытаешься получить?

    Надеюсь ты отправляешь запросы к какому-нибудь api?
    Иначе за обсуждение парсинга, на этом форуме можно бан получить.
     
  9. drakonik999

    drakonik999 Активный пользователь

    С нами с:
    5 сен 2017
    Сообщения:
    156
    Симпатии:
    0
    Попробовал беспл прокси не все, но работают, в чём проблема? покупал прокси на прокси6
     
  10. yanuzay

    yanuzay Активный пользователь

    С нами с:
    28 мар 2018
    Сообщения:
    498
    Симпатии:
    57
    возможно с авторизацией к прокси проблема.

    для проксей с авторизацией я дописывал эти строки:
    curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL,0);
    curl_setopt($ch, CURLOPT_PROXYUSERPWD,"lNyzN8egW:GbueazavP");
    curl_setopt($ch, CURLOPT_PROXYAUTH,CURLAUTH_ANY);
    curl_setopt($ch, CURLOPT_FRESH_CONNECT,true);
     
  11. drakonik999

    drakonik999 Активный пользователь

    С нами с:
    5 сен 2017
    Сообщения:
    156
    Симпатии:
    0
    Тоже сaмое (
    --- Добавлено ---
    Вообщем только что проверил нa бесплтнх прокси и получaетс что рaботaют прокси только с портом 80 и 8080, остaлне порт не рaботaют
     
  12. drakonik999

    drakonik999 Активный пользователь

    С нами с:
    5 сен 2017
    Сообщения:
    156
    Симпатии:
    0
    Проблема в хостинге, проверил через опенсервер все работает.
    Скажите а как после получение ответа сделать новый запрос к тому же сайту? site/1 получил ответ, идем к site/2
    Нужно ли создавать все заголовки заного? И да это не парсинг
     
  13. yanuzay

    yanuzay Активный пользователь

    С нами с:
    28 мар 2018
    Сообщения:
    498
    Симпатии:
    57
    Все заголовки заново.
    Вынеси повторяющийся код в функцию и обращайся к ней, а ссылки передавай как аргументы функции.

    Ссылки можешь построчно добавить в текстовый файл и создай цикл, который будет построчно брать ссылки из файла.
    Из цикла вызывай функцию и передавай ссылку как аргумент функции.
    В цикле можешь таймаут между запросами выставить с помощью функции sleep()