| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Perl: Общие вопросы > может кто подскажет |
| Автор: DooZ 25.11.2005, 18:52 |
| суть в следующем у меня есть 1000 ссылок которые надо проверить на какие-то данные (какие щас это не важно) все это дело надо проверить через прокси! вопрос как отделить ошибку самого сайта от ошибки прокси? т.е. если не пашет прокся одно дело если не пашет сайт другое (проверять сайт по каким то параметрам типа текст какой-то, не подходит т.к. все сайты совершенно разные) просто если работаешь через LWP он выдает допустим ошибку 404 или 500 и хер его знает чья это ошибка прокси или сервака (страницы что я проверяю) как быть? может есть вариант в Socet, IO::Socket ? желательно примеры заранее благодарю |
| Автор: Aleksandor 25.11.2005, 19:12 |
| Надо бы RFC посмотреть, но навскидку могу сказать что прокси не должен сам давать коды ответов HTTP. На то он и прокся что может лишь добавлять от себя некоторые заголовки, но не более того... |
| Автор: Kiber_rat 26.11.2005, 13:42 |
| Вот тебе для справки коды ответов HTTP: 200 OK 201 Успешная команда POST 202 Запрос принят 203 Запрос GET или HEAD выполнен 204 Запрос выполнен но нет содержимого 300 Ресурс обнаружен в нескольких местах 301 Ресурс удален навсегда 302 Ресурс отсутствует временно 304 Ресурс был изменен 400 Плохой запрос от клиента 401 Неавторизованый запрос 402 Необходима оплата за ресурс 403 Доступ Запрещен 404 Ресурс не найден 405 Метод не применим для данного ресурса 406 Недопустимый тип ресурса 410 Ресурс Недоступен 500 Внутренняя ошибка сервера 501 Метод не выполнен 502 Неисправный шлюз либо перегруз сервера 503 Сервер недоступен/тайм-аут шлюза 504 Вторичный шлюз/тайм-аут сервера |
| Автор: sharq 27.11.2005, 21:34 |
| DooZ Ответ можно получить с помощью метода status_line, в котором будет указан код ошибки и краткое пояснение ошибки, в том числе ошибка прокси (например, 500 Invalid argument proxy). perldoc LWP::UserAgent perldoc HTTP::Request perldoc HTTP::Response |
| Автор: DooZ 30.11.2005, 07:47 |
| вообщем стандартными методами не обойтись как выяснилось в том числе разбором ответов вариант походу один (посоветовали добрые люди) проверять мелкую страницу на наличие строки например (100% существующую страницу) перед каждым коннектом... =) |
| Автор: sharq 30.11.2005, 18:11 | ||||||
DooZ вот смотри:
Это функция получения страницы по указанному url, использующая список прокси. Если страница не получена, то указывается причина, т.е. статус - номер ошибки и короткое сообщение. Вот лог работы скрипта:
Как видишь, это все ошибки прокси, которых отверг url. В данном случае не было ошибок сайта, т.к. url - валидный. Но status_line показывает все ошибки, возникшие при получение страницы, например,
|
| Автор: DooZ 1.12.2005, 02:41 |
| ага проходили такое бывают такие прокси которые пишут Your IP address is not recognized CoDeeN CDN Network типа того и никакой ошибки... но сайт (страница) не получается... делайте выводы |
| Автор: sharq 1.12.2005, 10:39 | ||
DooZ
так это проблема прокси, а не кода. |