Все о кодах ответов прокси-серверов для начинающих
Если вы когда-нибудь работали с прокси для скрапинга данных, абуза или другой деятельности, то могли сталкиваться с ошибками. Их довольно много, поэтому разобраться бывает сложно.
В этой статье я расскажу про наиболее распространенные ошибки прокси и объясню, как их исправить. В результате вы научитесь быстро понимать, что за ошибка выскочила у вас перед глазами и как ее лучше исправить, сэкономите себе время.
Какие бывают коды ответов прокси-серверов
Каждый раз, выполняя какое-либо действие через прокси в интернете, вы отправляете запрос с клиента от имени прокси к серверу. Если отправленный запрос не удается выполнить, вы получите ошибку со своим кодом. Каждая цифра означает тип ошибки.
Например, цифры с 400 по 499 значат, что ошибка со стороны прокси (клиента) — например, прокси из черного списка могли добавить в бан-лист сайта. Цифры с 500 означают ошибку со стороны сервера — он может «упасть» или быть на техработах. Для каждой ошибки есть свои методы решения.
Классификацию кодов я собрал в этой таблице. По классификации, всего есть 5 типов ответов серверов. Первая цифра обозначает категорию ответа.
Коды, которые начинаются с цифр 1 и 2, не требуют никаких дополнительных телодвижений. Коды с цифрами 3 могут иногда потребовать дополнительных действий (если вас автоматически не перенаправили), а 4 требуют исправления с вашей стороны. Ответы со стороны сервера должны чиниться админом сайта.
Рассмотрим каждый код подробнее.
100 — Continue
Почему появляется: Коды со статусом 100, 101 и другие используются, когда сервер обрабатывает запрос, и его окончательный ответ еще не известен. Код 100 означает, что сервер уже получил заголовок запроса, но продолжается отправка тела. Каких-то действий от вас не требуется, просто ждите.
101 — Switching Protocols
Почему появляется: браузер запросил сервер разрешение на смену протокола передачи данных. Если вы увидели этот код, значит, сервер разрешил смену и сейчас отправил вам уведомление об этом.
102 — Processing
Почему появляется: если клиент отправляет сложные запросы, требующие выполнения нескольких условий, серверу понадобится время для обработки. Чтобы избежать ошибки времени ожидания, сервер отправляет этот код — он означает, что запрос в обработке.
103 — Early Hints
Почему появляется: сервер собирается скоро отправить окончательный ответ, содержащий заголовки и тело ответа.
301 — Moved Permanently
Почему появляется: исходный ресурс, на который вы отправляете запрос, был перенесен на другой URL адрес. В итоге запрос прокси-сервера будет перенаправлен на другой URL.
Что делать: обычно это не ошибка, многие скраперы и браузеры следуют за новым URL. Проблема может быть на новом ресурсе, тогда смотрите на код ответа с этого сайта.
305 — Use Proxy
Почему появляется: веб-сервер, который получил запрос, доступен только через прокси. Сейчас считается устаревшим и редко используется из-за проблем с безопасностью, поэтому получить его — все равно, что встретить на улице динозавра.
Что делать: если вы все таки получили этот код ответа, используйте прокси и отправьте запрос еще раз.
306 — Switch Proxy
Почему появляется: сервер отклоняет установку соединения с клиентом из-за неподходящего прокси
Что делать: подключитесь, используя другой прокси-сервер.
307 — Temporary Redirect
Почему появляется: если вы видите код 307, это значит, что вас временно перенаправят на другое местоположение, чтобы получить доступ к ресурсу.
Что делать: проследуйте по ссылке, на которую вас перенаправили, и повторите запрос.
400 — Bad Request
Почему появляется: сервер не может обработать запрос. Заметьте — ошибка может появляться как со стороны конечного сервера, так и со стороны прокси, который пытается выслать результат вам. Ошибка может быть вызвана множеством причин — неправильным форматированием запроса, неверной маршрутизацией запросов или синтаксисом.
Что делать: проблема связана с запросом с вашей стороны, поэтому просмотрите его и подумайте, какая информация, посылаемая с запросом, может вызвать ошибку. Если нашли причину, исправьте ее и попробуйте отправить запрос снова.
401 — Unauthorized
Почему появляется: ресурс, к которому вы пытаетесь получить доступ, требует аутентификации. Эту ошибку часто можно получить, занимаясь парсингом, например, интернет-магазинов, которые внесли ваш прокси в черный список.
Что делать: смените прокси или предоставьте требуемые данные, но чаще всего помогает просто смена прокси.
403 — Forbidden
Почему появляется: сервер получил запрос, но не будет его выполнять. Поскольку причины не указываются, определить их можно только самостоятельно. Этот код может указывать на то, что вы пытаетесь сделать что-то, что может делать только администратор сайта.
Что делать: попробуйте сменить действие, которое отправляете вместе с запросом, или само местоположение, куда отправляется запрос — например, эта ошибка может выскочить, если вы пытаетесь получить доступ к файлам веб-сервера. Тогда попробуйте вытащить другой файл или перейти на другую страницу.
404 — Not Found
Почему возникает: запрошенный онлайн-ресурс больше недоступен. Это означает, что URL либо неверен, либо был изменен без перенаправления, либо больше не существует.
Что делать: проверьте URL и отправьте запрос еще раз, либо введите другой адрес.
407 — Proxy Authentication Required
Почему появляется: вы не ввели логин-пароль или другие данные от вашего прокси, изредка ваш IP-адрес может быть включен в черный список самого прокси-сервера.
Что делать: введите учетные данные от прокси, если проблема возникает опять — обратитесь к провайдеру.
408 — Request Timeout
Почему появляется: сервер не получил запрос, который не произошел. Чаще всего это бывает при проблемах с интернетом или прокси.
Что делать: Проверьте интернет и отправьте запрос снова. Если эта ошибка возникает постоянно, проверьте работоспособность прокси сервера. Если используете какие-то третьи API вместе с прокси, убедитесь, что их запросы также достигают сервера
429 — Too many requests
Почему появляется: ошибка прокси 429 возникает, когда клиент отправляет слишком много запросов в течение ограниченного времени, используя один и тот же IP-адрес. Таким образом, веб-сервер считает вас ботом и блокирует доступ.
Некоторые провайдеры прокси используют код состояния 429 для ограничения количества отправки запросов со стороны самого прокси-сервера. Это может быть определено самой компанией, внимательно читайте условия.
Что делать: смените свой IP-адрес и установите временные задержки между запросами.
502 — Bad gateway
Почему возникает: неправильная работа прокси-сервера либо конечного сервера. Причины могут быть разными — наплыв посетителей, проблемы технического характера со стороны админа сайта или владельца прокси, и т.д.
Что делать: почистите кэш и куки, измените DNS, попробуйте другой браузер либо просто перезагрузите страницу. Также может помочь смена прокси-сервера, либо отправка запроса без использования прокси.
503 — Services unavailable
Почему появляется: сервер, к которому вы пытаетесь получить доступ, недоступен. Большую часть времени это происходит потому, что сервер перегружен запросами или на нем что-то чинят/обновляют.
Иногда причина может крыться в самом прокси, если он был добавлен в черный список на сайте. Чтобы подтвердить эту теорию, попробуйте сменить прокси и проверьте, изменился ли доступ к сайту.
Как исправить: попробуйте сменить прокси либо просто подождите.
Итоги
Коды ошибок при работе с прокси могут быть неприятными при работе с данными, но многие из них просты в решении и не требуют углубленных знаний. Лучший способ снизить риски — иметь прямые руки и покупать прокси у надежных провайдеров, которые продают прокси-сервера, не забаненные на других сайтах.