Отправка http запроса через прокси сервер с авторизацией Python
Прокси-сервер, теория
Рассмотрим как отправить запрос используя оба способа.
Программное обеспечение
Для языка программирования Python был создан один крайне полезный модуль под названием requests
. Задача его скромна и крайне значима — помочь во взаимодействии с глобальной всемирной паутиной. Он не идёт из коробки
для Python 3.x.x, а потому требует отдельной инсталляции
. О том, как установить модуль можете прочесть здесь.
Прокси без авторизации
Рассмотрим пример использования случайного прокси-сервера
не требующего авторизации. Импортируйте модуль requests, затем определите используемый прокси-сервер
с используемым протоколом передачи (SOCKS4
, HTTP
, HTTPS
, и так далее) и указанным портом
, создайте запрос
с прописанными ранее данными прокси-сервера, отправьте запрос
и получите ответ
. В ответе нас будет интересовать только статус
— запрос выполнен успешно или же провалился.
Схема создания записи данных прокси-сервера и отправки запроса следующая, необходимые данные предоставляется поставщиком
прокси:
- Создаётся ассоциативный массив, где ключом
является используемый протокол
. Прописывать необходимо только подходящий под Ваше соединение протокол; - В качестве значения ключа
ассоциативного массива указывается ip-адрес
или же доменное имя
прокси-сервера; - В конце значения прописывается порт
. После адреса ставится двоеточие
без каких-либо пробелов и прописывается используемый порт; - Создаёте запрос указав
необходимый Вам ресурс в виде доменного имени
или же ip-адреса
, добавив ассоциативный массив содержащий жизненно важные данные о прокси соединении
;
Сервер возвратил ответ
, в нём содержится статус-код, если он равен 200
, то это значит, что всё хорошо и запрос выполнен успешно. Если же Ваш запрос возвратил ответ с иным кодом
, то необходимо разобраться с неисправностью, ибо проблема может заключаться в чём угодно начиная от сбоя сервера и продолжая Вашим подключением к сети.
Прокси с авторизацией
Прокси требующие авторизации
зачастую используются на производстве
, в компаниях
для создания защищённой и закрытой среды
интернет-обитания для своих
сотрудников. В подобных закрытых сетях может располагаться служебная информации, доступ к базам данных необходимых для работы фирмы и многое другое интересное.
Как уже говорилось ранее, для такого рода подключения нужно знать корректные логин и пароль
. Предположим, что он у нас есть.
Схема создания записи данных прокси-сервера и отправки запроса следующая, необходимые данные предоставляется поставщиком
прокси:
- Создаётся ассоциативный массив, где ключом
является используемый протокол
. Прописывать необходимо только подходящий под Ваше соединение протокол; - В качестве значения ключа
ассоциативного массива указывается ip-адрес
или же доменное имя
прокси-сервера; - В конце значения прописывается порт
. После адреса ставится двоеточие
без каких-либо пробелов и прописывается используемый порт; - Отдельно
от данных прокси-сервера прописываете актуальные и достоверные авторизационные сведения
используя для этого класс HTTPProxyAuth
, который сформирует всё
необходимое исходя из Ваших двух переданных аргументов: логин и пароль
; - Создаёте запрос, указав
необходимый Вам ресурс в виде доменного имени
или же ip-адреса
, добавив ассоциативный массив содержащий жизненно важные данные о прокси соединении
, а также авторизационные данные
;
Проверяем статус-код. Если код 200, значит всё великолепно, если нет, значит смотрим в список кодов ошибок и анализируем причину неудачи.