Запросы при помощи curl через proxy

CURL proxy — ключ утилиты curl, позволяющий отправлять HTTP запрос не напрямую, в через прокси сервер. Сервер на принимающей стороне будет видеть не исходный IP адрес, а IP адрес прокси сервера.

 

 

CURL proxy

Прокси в целом используется для того чтобы скрыть собственный адрес и обойти всевозможные блокировки — корпоративные firewall и блокировки на уровне провайдера.

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

 

CURL с ключем —proxy нужен если требуется отправить один запрос подменив источник.

 

 

Проксирующие сервера могут быть публичными и не требовать авторизации или же запрашивать валидные логин и пароль

 

Для первого случая запрос из консоли при помощи curl будет выглядеть так:

curl —proxy 123.123.123.123:20183 ya.ru

123.123.123.123 здесь — адрес прокси сервера, 20183 — порт, обращение идет к хосту ya.ru

 

Если прокси требует авторизации (например, он корпоративный), то с ключем -U указывается логин, через двоеточие после него пароль.

 

curl —proxy 123.123.123.123:8123 -U username:password ya.ru

 

Любое проксирование через внешний сервер (часто находящийся в другой стране) существенно увеличивает маршрут, который проходит каждый пакет. Это может вызывать значительные задержки в обработке запросов.

 

Задержки происходят и если настроить прокси в браузере. Особенно явно с Tor, для которого маршрут всегда строится с использованием минимум трех удаленных друга от друга узлов.

 

Читайте про то как настроить собственный Proxy сервер на основе пакета Squid