Ошибка 301 - что делать?

Тема в разделе "WASM.NETWORKS", создана пользователем Green_DiCk, 15 сен 2007.

  1. Green_DiCk

    Green_DiCk New Member

    Публикаций:
    0
    Регистрация:
    8 июл 2007
    Сообщения:
    338
    Что значит ошибка "301 Moved" в заголовке ответа сервера на запрос GET? В браузере все работает (то есть страница на месте, никуда она не moved), а в моей кривой проге нет.
    Напишите пожалста ВАШ вариант GET заголовка (может нужно свою прогу за IE например выдать или еще че нить)

    PS Наверно не лишним будет уточнить - мне нужен сайт Webwarper.net через него я хочу получать доступ к другим сайтам. это такой веб-акселератор - сжимает страницы и отправляет получателю и(!) также меняет IP клиента при обращении к целевому сайту.

    PPS при обращении к конкретной директории/файлу через webwarper (Например webwarper.net/ww/~s/wasm.ru) вылезает ошибка 302 Object moved, если пустой GET, то 301 Moved.
     
  2. Proteus

    Proteus Member

    Публикаций:
    0
    Регистрация:
    19 июн 2004
    Сообщения:
    344
    Адрес:
    Russia
    Весьма вероятно что ты не указываешь параметр Host: ...
    надо где-то так:
    Код (Text):
    1. GET / HTTP/1.0
    2. Host: www.wasm.ru
    Любые другие параметры запроса бывают полезны, но они не критичны.
    Коревая страница сайта, напротив легко может содержать перенаправление. Например запрашиваешь / , а тебя перепосылают на /index.html. Это не очень частое явление, но возможное...

    Не вредно так же (хотя вовсе не обязательно) указать Referer: на тот же сайт, хотя бы не его корневую страницу.

    А вот выдавать себя за чужой браузер, не нужно совсем, равно как и указывать его версию или название. Разве что для красоты или для понта ...
     
  3. IceStudent

    IceStudent Active Member

    Публикаций:
    0
    Регистрация:
    2 окт 2003
    Сообщения:
    4.300
    Адрес:
    Ukraine
    Green_DiCk
    Невнимательно читаешь ответ:
    Код (Text):
    1. Requesting http://webwarper.net/ww/~s/wasm.ru .. Ok
    2. Reply received (reply time: 2503 ms)
    3. ------------------------------------
    4. HTTP/1.0 302 Object Moved (WebWarper)
    5. Location: http://webwarper.net/ww/~s/wasm.ru/
    6.  
    7. Requesting http://webwarper.net/ww/~s/wasm.ru/ .. Ok
    8. Reply received (reply time: 5077 ms)
    9. ------------------------------------
    10. HTTP/1.0 200 Ok
     
  4. Green_DiCk

    Green_DiCk New Member

    Публикаций:
    0
    Регистрация:
    8 июл 2007
    Сообщения:
    338
    Proteus
    Хост я действительно не указывал. Для чего это вообще делается? Он же у меня итак прописан в SOCKADDR_IN.
    Код (Text):
    1. pHost = gethostbyname("webwarper.net");
    2.     ......
    3.  
    4. char request[] = "GET / HTTP/1.0\r\n";
    5. //или
    6. char request[] = "GET /ww/~s/wasm.ru HTTP/1.0\r\n";
    Но попробовал указать - тоже не помогло.
    Хм... а разве index не открывается по умолчанию когда GET пустой?


    IceStudent
    Фига себе... Это у тебя откуда все взялось? У меня только 2 строчки -
    Код (Text):
    1. HTTP/1.0 302 Object Moved (WebWarper)
    2. Location: http://www.webwarper.net/ww/~s/wasm.ru
    Напиши свой запрос пожалуйста.
     
  5. IceStudent

    IceStudent Active Member

    Публикаций:
    0
    Регистрация:
    2 окт 2003
    Сообщения:
    4.300
    Адрес:
    Ukraine
    Там "прописан" только IP-адрес сервера.

    Это зависит от настроек сервера.

    Это два разных запроса, неужели не понятно? Или перевести на русский?
     
  6. Green_DiCk

    Green_DiCk New Member

    Публикаций:
    0
    Регистрация:
    8 июл 2007
    Сообщения:
    338
    IceStudent
    Всё.. въехал... на серваке может быть до хрена сайтов... понятно.

    Да. Непонятно. Я вообще несколько туповат. Переведи пожалста на русский. В конце концов сервер ведь все таки выдал OK. Так? Так вот мне интересно как ты этого добился.
     
  7. roman_pro

    roman_pro New Member

    Публикаций:
    0
    Регистрация:
    9 фев 2007
    Сообщения:
    291
    Вообще, если охота прикинуться браузером от и до, то врубаешь сниффер (например WireShark (бывший Ethereal)), заходишь браузером на страницу, а затем изучаешь запросы/ответы - здорово помогает если доки по протоколам читать влом.
     
  8. IceStudent

    IceStudent Active Member

    Публикаций:
    0
    Регистрация:
    2 окт 2003
    Сообщения:
    4.300
    Адрес:
    Ukraine
    Green_DiCk
    OK, перевожу.

    Код (Text):
    1. 1)
    2. Запрос http://webwarper.net/ww/~s/wasm.ru .. Ok
    3. Ответ получен (время ответа: 2503 мс)
    4. ------------------------------------
    5. HTTP/1.0 302 Объект перемещён (WebWarper)
    6. Местоположение: http://webwarper.net/ww/~s/wasm.ru/
    7.  
    8. 2)
    9. Запрос http://webwarper.net/ww/~s/wasm.ru/ .. Ok
    10. Ответ получен (время ответа: 5077 ms)
    11. ------------------------------------
    12. HTTP/1.0 200 Ok
    Получил я этот лог от простой утилиты для просмотра "сырых" данных протокола HTTP. При запросе исходной ссылки (обрати внимание на отсутствие слэша в конце) сервер сообщает, что эта страница перемещена (или просто находится по другому адресу) и выдаёт настоящую ссылку к ней (со слэшом в конце!). Делается второй запрос, уже новой ссылки — сервер сообщает ответ 200, то есть, дальше пойдёт сама запрашиваемая страница.

    Никаких фокусов — просто добавь слеш в конце и твоя прога будет получать 200, а не "ошибку 301".

    А это уже читай спецификацию протокола HTTP (или хотя бы его описание какое-нить, переведённое). Конкретно: выдал ОК, потому что твой запрос не является ошибочным, ведь такая страница всё-же существует, просто её адрес другой и тебе предлагают перейти по нему.
     
  9. Green_DiCk

    Green_DiCk New Member

    Публикаций:
    0
    Регистрация:
    8 июл 2007
    Сообщения:
    338
    IceStudent
    Все работает. Спасибо большое. Просто на "черточки" я как то неособо внимание обращал.

    Хотя один вопрос меня все же мучает. По идее webwarper - это веб-ускоритель, сжимающий данные, то есть браузер получает архивированные страницы, которые потом разархивирует и отображает. А на деле выходит так что грузится несжатая страница... модифицированная конечно (все скрипты, рисунки и прочая, прочая ликвидируются), но не сжатая. Мне это конечно на руку - хлопот гораздо меньше, но все таки почему так?
     
  10. Proteus

    Proteus Member

    Публикаций:
    0
    Регистрация:
    19 июн 2004
    Сообщения:
    344
    Адрес:
    Russia
    Открывается конешно. Но иногда приходилось видеть, перенаправление. На mail.ru например было как-то раз, до того как они очередной раз дизайн поменяли. Не знаю нахрена это, но факт что бывает.