За последние 24 часа нас посетили 17805 программистов и 1782 робота. Сейчас ищут 1063 программиста ...

wget -O - avito.ru

Тема в разделе "Вопросы от блондинок", создана пользователем bkm, 29 апр 2014.

  1. bkm

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

    С нами с:
    22 окт 2009
    Сообщения:
    299
    Симпатии:
    0
    Здравствуйте.

    Выполняю запрос в консоли:
    Код (Text):
    1. wget -O - avito.ru
    2.  
    3. --2014-04-29 22:33:12-- http://avito.ru/
    4. Resolving avito.ru (avito.ru)... 80.76.156.73
    5. Connecting to avito.ru (avito.ru)|80.76.156.73|:80... connected.
    6. HTTP request sent, awaiting response... 301 Moved Permanently
    7. Location: http://www.avito.ru/ [following]
    8. --2014-04-29 22:33:15-- http://www.avito.ru/
    9. Resolving www.avito.ru (www.avito.ru)... 80.76.156.73
    10. Reusing existing connection to avito.ru:80.
    11. HTTP request sent, awaiting response... 403 Forbidden
    12. 2014-04-29 22:33:15 ERROR 403: Forbidden.
    Ну думаю ладно, видимо ip в бане.
    Беру из загашника другой айпи, немного им баловался с авито, результат тот же.
    Покупаю третий, тут же выполняю команду wget -O - avito.ru
    И опять 403!
    Как такое может быть?
     
  2. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    не те заголовки, не в той последовательности, нет яваскрпита и т.п.
    там тоже не дураки сидят
     
  3. bkm

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

    С нами с:
    22 окт 2009
    Сообщения:
    299
    Симпатии:
    0
    ах да, забыл добавить, что тестил на денвере, php 5.4, все работает шоколадно, тестил на ubuntu 12.04, пхп тоже 5.4, все прекрасно работает, а вот на боевоем что-то не заладилось.
     
  4. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    может у них есть база айпишников, принадлежащих хостерам?
     
  5. bkm

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

    С нами с:
    22 окт 2009
    Сообщения:
    299
    Симпатии:
    0
    так так так.
    вчера в полудреме написал с конца. начнем с начала.
    написал пхп класс для работы с мультикурл, написал сам, чтобы понимать его работу. есть список проксей, собственно запросы идут через них. Проверял работу на виндовс (денвер) - на ноуте (МТС) и на стационарном (домру), убунту (lamp+curl) (домру) и убунту (vps).
    не работает только на впс, точнее приходит ошибка 403. даже если указать с настройках курл другой интерфейс.
    начал разбираться.
    в консоли домашней убунты
    Код (Text):
    1. curl --location avito.ru
    2. приходит страница
    Код (Text):
    1. wget -O - avito.ru
    2. приходит страница с выбором города
    в консоли сервера после выполнения команды curl через пару секунд опять приглашение на ввод команды.
    если выполнить запрос wget, то видим что приходит 403 ошибка.

    Добавлено спустя 41 минуту 29 секунд:
    блин, даже на koding.com команда wget -O - avito.ru работает. похоже что-то с хостером не то.
     
  6. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
     
  7. bkm

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

    С нами с:
    22 окт 2009
    Сообщения:
    299
    Симпатии:
    0
    я две недели понять не могу, а тут igordata с ходу догадался. хотя про команду wget я только вчера узнал. но все равно круто.
    риторический вопрос: что делать?
     
  8. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    1) Пробовать другой хостинг.
    2) Парсить авито с локалки и заливать на боевой сервер, еств, автоматизировав процесс.
    3) Не парсить авито.
     
  9. Ke1eth

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

    С нами с:
    16 мар 2012
    Сообщения:
    1.073
    Симпатии:
    11
    Адрес:
    заблудилса
    1) wget -U "Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3"
    ибо в 80% установка юзер-агента решает проблему с 403

    2) wget -help
    --proxy-user=ПОЛЬЗОВАТЕЛЬ установить ПОЛЬЗОВАТЕЛЯ в качестве имени пользователя для прокси.
    --proxy-password=ПАРОЛЬ установить ПАРОЛЬ в качестве пароля для прокси.

    вот 2 направления
     
  10. bkm

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

    С нами с:
    22 окт 2009
    Сообщения:
    299
    Симпатии:
    0
    хм, запрос-то идет через проксю, причем тут тогда хостер и его ip?
     
  11. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    из дома через проксю работает? а с хостинга через проксю не работает?
     
  12. bkm

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

    С нами с:
    22 окт 2009
    Сообщения:
    299
    Симпатии:
    0
    ну да, и дома и на работе работает, а на хостинге нет. скрипт-то один и тот же.
     
  13. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    а прокся лепит твой айпишник в x-forwarded-for?
     
  14. bkm

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

    С нами с:
    22 окт 2009
    Сообщения:
    299
    Симпатии:
    0
    сложный вопрос, я этого не знаю. с другой стороны я купил ночью еще один айпи и тут ж проверил - результат 403. соответственно для курла указываю CURLOPT_INTERFACE => "188.120.249.205"

    Код (Text):
    1. ubuntu@ubuntu:~$ traceroute avito.ru
    2. traceroute to avito.ru (80.76.156.73), 30 hops max, 60 byte packets
    3.  1  msk-130.ispsystem.net (188.120.240.130)  0.065 ms  0.026 ms  0.023 ms
    4.  2  edge.webdc.ru (92.63.108.89)  0.217 ms  0.206 ms  0.191 ms
    5.  3  46.46.168.173 (46.46.168.173)  13.610 ms  13.586 ms  13.543 ms
    6.  4  et1110-4.RT.TC2.AMS.NL.retn.net (87.245.232.114)  45.384 ms  44.855 ms  45.059 ms
    7.  5  amsix-gw1.ams.basefarm.net (195.69.145.42)  45.771 ms  46.219 ms  45.938 ms
    8.  6  sth4-gw01-ams-lnk.sth.basefarm.net (195.28.172.1)  63.287 ms  63.710 ms  63.452 ms
    9.  7  sth2-gw01-te0-1-0-4.sth.basefarm.net (80.76.159.69)  63.692 ms  63.131 ms  63.373 ms
    10.  8  sth2-cr01-xe-16-0-2.sth.basefarm.net (164.40.176.30)  65.113 ms  65.080 ms  65.052 ms
    11.  9  avi-cr01-ae0.sth.basefarm.net (164.40.176.38)  63.709 ms  63.767 ms  64.008 ms
    12. 10 ***
    13. ~~~~~~~~
    14. 30 ***
    Добавлено спустя 3 минуты 22 секунды:
    Код (Text):
    1.  
    2.   ["http_code"]=>
    3.   int(403)
    4.   ["primary_ip"]=>
    5.   string(12) "80.76.156.73"
    6.   ["primary_port"]=>
    7.   int(80)
    8.   ["local_ip"]=>
    9.   string(15) "188.120.249.205"
    10.   ["local_port"]=>
    11.   int(34108)
    12.   ["redirect_url"]=>
    13.   string(0) ""
     
  15. Ke1eth

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

    С нами с:
    16 мар 2012
    Сообщения:
    1.073
    Симпатии:
    11
    Адрес:
    заблудилса
    wget с юзер-агентом проверял?
     
  16. Zuldek

    Zuldek Старожил

    С нами с:
    13 май 2014
    Сообщения:
    2.381
    Симпатии:
    344
    Адрес:
    Лондон, Тисовая улица, дом 4, чулан под лестницей
    Прокся прозрачная скорее всего была. Нужно пользовать не прозрачные и правильные заголовки отдавать
    wget у нас разве может работать со списками проксей? Или для каждого урла свой exec с wget дёргался?