linux wget get - выполнение HTTP-запросов с помощью cURL (с использованием PROXY)
У меня есть этот адрес прокси: 125.119.175.48:8909
Как я могу выполнить HTTP-запрос с использованием cURL, например curl http://www.example.com
, но указав адрес прокси-сервера моей сети?
Помните, что если вы используете прокси-сервер SOCKS вместо прокси-сервера HTTP / HTTPS, вам нужно будет использовать вместо этого переключатель --socks5
:
curl --socks5 125.119.175.48:8909 http://example.com/
ты можешь использовать :
curl http://www.example.com --proxy http://125.119.175.48:8909
как объяснил Карл
Мне нравится использовать это, чтобы получить IP-адрес, под которым я вижу
curl -x http://proxy_server:proxy_port https://api.ipify.org?format=json && echo
Надеюсь, это поможет кому-то.
Подводя итог всем замечательным ответам:
curl -x http://<user>:<pass>@<proxyhost>:<port>/ -o <filename> -L <link>
Вам не нужно экспортировать переменную оболочки http[s]_proxy
если вы просто устанавливаете прокси для одной команды. например
http_proxy=http://your.proxy.server:port curl http://www.example.com
Тем не менее, я бы предпочел curl -x
если бы знал, что я всегда буду использовать прокси.
В случае, если прокси использует автоматический прокси-сервер с файлом PAC. Мы можем найти фактический прокси-сервер из javascript из URL-адреса PAC.
И если прокси требует аутентификации, мы можем сначала использовать обычный веб-браузер для доступа к веб-сайту, который будет способствовать диалогу проверки подлинности. После аутентификации мы можем использовать wirehark для захвата отправки пакетов http на прокси-сервер, из пакета http, мы можем получить токен аутентификации из заголовка http: авторизация прокси-сервера
Затем мы можем установить переменную среды http_proxy, а также включить токен аутентификации в HTTP-заголовке: авторизация прокси-сервера
экспорт http_proxy = http://proxyserver:port
curl -H "Прокси-авторизация: xxxx" http: // targetURL