![]() |
|
Модераторы: korob2001, ginnie |
![]()
|
|
| DooZ |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 206 Регистрация: 25.11.2005 Репутация: нет Всего: 1 |
тема уже поднималась, но толком ответа дано не было
может быть я не очень подробно объяснил ситуацию, сейчас постараюсь это исправить вообщем задача узнать ошибка была выдана проксей или сервером? суть проблемы есть некий скрипт работающий через LWP качающий файлы, работает он через прокси все бы хорошо, если бы все прокси выдавали СТАНДАРТНЫЕ ответы ошибок типа: Can't connect to ... 504 Proxy Timeout Server closed connection without sending any data back НО позникает проблема когда прокси возвращают не стандартные ответы типа: This is an evaluation version limited to use of You are trying to use a node of the CoDeeN CDN Network Request not authorized to access WAP Gateway и т.д. таких ответов может быть сотни и более проверять прокси перед запросом пробывал бывает ситуация, что при проверке она работает (проверяю на своем скрипте выдающим ответы), а через секунду уже при непосредственно нужном мне запросе прокся уже не пашет (выдает не стандартный ответ) проверять какое-то слово на сайте куда я делаю запрос, тоже нельзя т.к. сайты разные и я не знаю что там будет проверять размер сайта или контент сайта (без прокси) потом делать к нему же запрос с проксей тоже нельзя т.к. сайт может измениться и проверка не пройдет через сокеты работать тоже не катит во первых не хочу заморачиваться, во вторый при коннекте сначала к проксе она тоже работает все ок, при создании запроса к сайту вылазиет таже ошибка (не стандартная) вот собственно и вся проблема есть идеи как быть? |
|||
|
||||
| Nab |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 582 Регистрация: 25.3.2006 Где: Kiev Репутация: 26 Всего: 37 |
Есть идеи
Проверять заголовок ответа HTTP а не пояснительный текст на странице... -------------------- Чтобы правильно задать вопрос нужно знать больше половины ответа... Perl Community FREESCO in Ukraine |
|||
|
||||
| DooZ |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 206 Регистрация: 25.11.2005 Репутация: нет Всего: 1 |
пример в студию
|
|||
|
||||
| Nab |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 582 Регистрация: 25.3.2006 Где: Kiev Репутация: 26 Всего: 37 |
Моя практика мне показала вот такие данные:
В прокси, если настроен абсолютно прозрачно не отличить ошибку сервера от ошибки прокси Другое дело что как правило, это ошибки разные.... Поэтому предлагаю вот такой вариант: При возникновении ошибки, проверить прокси простым запросом на заведомо рабочем сайте. Это может быть как внешний сервис, так и свой собственный. Я писал как-то свой проксичекер, там идет проверка на доступность и анонимность проксисерверов, и схема там такая: мы вызываем себя без прокси всяких, как контрольный вызов, а потом проганяем с разными проксями, и сравниваем заголовки... Это все видно в логе...
Вот пример совсем недавнего лога, и посмотрите какого типа ошибки там обычно присутствуют...
Лог большой пришлось обрезать а вот полный лог, правда этот отработал чуть позже... Присоединённый файл ( Кол-во скачиваний: 3 )
proxy_error.prev.log 49,38 Kb-------------------- Чтобы правильно задать вопрос нужно знать больше половины ответа... Perl Community FREESCO in Ukraine |
||||
|
|||||
| DooZ |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 206 Регистрация: 25.11.2005 Репутация: нет Всего: 1 |
сенькс за ответ
но насчет дополнительной проверки я писал, что есть прокси который при проверке работают, а через секунду уже нет вообщем все сводится к тому что нужно вылавливать эти самые не стандартные ответы и просто по ним определять ошибку прокси |
|||
|
||||
| Nab |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 582 Регистрация: 25.3.2006 Где: Kiev Репутация: 26 Всего: 37 |
Все верно, поэтому у меня список рабочих прокси и чекается постоянно, практически без перерыва...
Но я предложил чекать прокси, для того чтобы определить его работоспособность, ПОСЛЕ неудачного соединения. А вообще для этого существует таймаут, и при ошибке, я бы рекомендовал попробовать еще раз переконнектиться, через пару секунд.... Количество попыток выберете сами експериментально, и уж если коннект пропал, то тогда проверяйте нерабочий прокси.... А лучше как я сделал.... Иметь не один прокси Просто главный смысл в том, чтоб не гонять объем контента по сети, а для минимизации делать запрос не GET, а HEAD. Поэтому я и говорил про заголовки, а не про контент, который действительно может быть любым, по усмотрению админа прокси или ресурса... -------------------- Чтобы правильно задать вопрос нужно знать больше половины ответа... Perl Community FREESCO in Ukraine |
||||
|
|||||
| DooZ |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 206 Регистрация: 25.11.2005 Репутация: нет Всего: 1 |
оки сенькс за помощь =)
|
|||
|
||||
![]()
|
| Правила форума "Perl" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Perl: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |