Отправка http запроса через прокси сервер с авторизацией Python

Отправка http запроса через прокси сервер с авторизацией Python

Прокси-сервер, теория

Прокси-сервер — это промежуточное звено в Вашем общении со всемирной паутиной.

Вы отправляете запрос на сервер, он поступает на прокси-сервер, оттуда уже запрос отправляется дальше и дальше до тех пор, пока не будет получен достаточный ответ. После того, как прокси-сервер получил качественный ответ, он отправляет его клиенту совершившему запрос.

Существуют различные виды прокси-серверов. Некоторые дополнительно предоставляют анонимность, некоторые элементарно служат «почтальонами» пересылающими запросы и ответы. Какие-то используют высоко производительные машины под свою деятельность, какие-то более слабые. Однако существуют ещё и такие прокси-сервера, которые за свои услуги просят денежные взносы, бесплатные же могут использовать Ваш сетевой трафик в своих целях: продавать сведения о Вашей интернет-деятельности рекламщикам для анализа усовершенствования маркетинговой политики, например. Будьте бдительны и внимательны при выборе какой использовать прокси-сервер, идеально безопасной сети не бывает.

Использование прокси для своего сёрфинга в интернете не обязательно, но порой возникает необходимость обезопасить себя из-за участившихся хакерских атак, Вас чрезвычайно сильно беспокоит анонимность в интернете или Вас элементарно достала однородная поисковая выдача в связи с недавними многочисленными целенаправленными поисками некоторой вещицы.

Существуют прокси с авторизацией, то есть для того, чтобы взаимодействовать с данным промежуточным звеном требуется знание логина и соответствующего пароля. Также, имеются в миру и не требующие авторизации и ими можно пользоваться абсолютно свободно.

Рассмотрим как отправить запрос используя оба способа.


Программное обеспечение

Для языка программирования Python был создан один крайне полезный модуль под названием requests. Задача его скромна и крайне значима — помочь во взаимодействии с глобальной всемирной паутиной. Он не идёт из коробки для Python 3.x.x, а потому требует отдельной инсталляции. О том, как установить модуль можете прочесть здесь.


Прокси без авторизации

Рассмотрим пример использования случайного прокси-сервера не требующего авторизации. Импортируйте модуль requests, затем определите используемый прокси-сервер с используемым протоколом передачи (SOCKS4, HTTP, HTTPS, и так далее) и указанным портом, создайте запрос с прописанными ранее данными прокси-сервера, отправьте запрос и получите ответ. В ответе нас будет интересовать только статус — запрос выполнен успешно или же провалился.

Схема создания записи данных прокси-сервера и отправки запроса следующая, необходимые данные предоставляется поставщиком прокси:

  1. Создаётся ассоциативный массив, где ключом является используемый протокол. Прописывать необходимо только подходящий под Ваше соединение протокол;
  2. В качестве значения ключа ассоциативного массива указывается ip-адрес или же доменное имя прокси-сервера;
  3. В конце значения прописывается порт. После адреса ставится двоеточие без каких-либо пробелов и прописывается используемый порт;
  4. Создаёте запрос указав необходимый Вам ресурс в виде доменного имени или же ip-адреса, добавив ассоциативный массив содержащий жизненно важные данные о прокси соединении;

Сервер возвратил ответ, в нём содержится статус-код, если он равен 200, то это значит, что всё хорошо и запрос выполнен успешно. Если же Ваш запрос возвратил ответ с иным кодом, то необходимо разобраться с неисправностью, ибо проблема может заключаться в чём угодно начиная от сбоя сервера и продолжая Вашим подключением к сети.


Прокси с авторизацией

Прокси требующие авторизации зачастую используются на производстве, в компаниях для создания защищённой и закрытой среды интернет-обитания для своих сотрудников. В подобных закрытых сетях может располагаться служебная информации, доступ к базам данных необходимых для работы фирмы и многое другое интересное.

Как уже говорилось ранее, для такого рода подключения нужно знать корректные логин и пароль. Предположим, что он у нас есть.

Схема создания записи данных прокси-сервера и отправки запроса следующая, необходимые данные предоставляется поставщиком прокси:

  1. Создаётся ассоциативный массив, где ключом является используемый протокол. Прописывать необходимо только подходящий под Ваше соединение протокол;
  2. В качестве значения ключа ассоциативного массива указывается ip-адрес или же доменное имя прокси-сервера;
  3. В конце значения прописывается порт. После адреса ставится двоеточие без каких-либо пробелов и прописывается используемый порт;
  4. Отдельно от данных прокси-сервера прописываете актуальные и достоверные авторизационные сведения используя для этого класс HTTPProxyAuth, который сформирует всё необходимое исходя из Ваших двух переданных аргументов: логин и пароль;
  5. Создаёте запрос, указав необходимый Вам ресурс в виде доменного имени или же ip-адреса, добавив ассоциативный массив содержащий жизненно важные данные о прокси соединении, а также авторизационные данные;

Проверяем статус-код. Если код 200, значит всё великолепно, если нет, значит смотрим в список кодов ошибок и анализируем причину неудачи.

Post Author: Nikulux

Добавить комментарий