wykonywanie żądań HTTP za pomocą cURL (przy użyciu PROXY)
Mam ten adres proxy: 125.119.175.48:8909
Jak mogę wykonać żądanie HTTP używając cURL like curl http://www.example.com
, ale podając adres proxy mojej sieci?
16 answers
Droga Ogólna:
export http_proxy=http://your.proxy.server:port/
Następnie możesz połączyć się przez proxy z (wielu) aplikacji.
I, zgodnie z poniższym komentarzem, dla https:
export https_proxy=https://your.proxy.server:port/
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-06-19 14:04:23
From man curl
:
-x, --proxy <[protocol://][user:password@]proxyhost[:port]>
Use the specified HTTP proxy.
If the port number is not specified, it is assumed at port 1080.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-10-15 21:57:39
Powyższe rozwiązania mogą nie działać z niektórymi wersjami curl, które wypróbowałem dla siebie (curl 7.22.0). Ale mi się udało:
curl -x http://proxy_server:proxy_port --proxy-user username:password -L http://url
Mam nadzieję, że to rozwiąże problem lepiej!
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-02-11 10:14:05
Uważaj, że jeśli używasz proxy SOCKS, zamiast proxy HTTP/HTTPS, musisz użyć przełącznika --socks5
:
curl --socks5 125.119.175.48:8909 http://example.com/
Możesz również użyć --socks5-hostname
zamiast --socks5
do rozwiązania DNS po stronie proxy.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-05-13 17:30:10
Jako dodatek do airween, innym dobrym pomysłem jest dodanie tego do twojego .bashrc, więc będziesz mógł przełączyć się ze środowiska non proxied na proxied:
alias proxyon="export http_proxy='http://YOURPROXY:YOURPORT';export https_proxy='http://YOURPROXY:YOURPORT'"
alias proxyoff="export http_proxy='';export https_proxy=''"
Gdzie YOURPROXY: YOURPORT to dokładnie to, twój ip i port proxy :-).
Następnie, po prostu robi
proxyon
Twój system zacznie używać proxy, a wręcz przeciwnie:
proxyoff
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-05-22 08:03:28
Użyj następującego
curl -I -x 192.168.X.X:XX http://google.com
192.168.X.X:XX
podaj adres IP i port serwera proxy.
-v
tryb gadatliwy da więcej szczegółów, w tym nagłówki i odpowiedź.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-08-26 06:27:28
Lubię używać tego, aby uzyskać IP, pod którym jestem widziany
curl -x http://proxy_server:proxy_port https://api.ipify.org?format=json && echo
Mam nadzieję, że to komuś pomoże.Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-09-04 14:11:03
Dla curl
możesz skonfigurować proxy w swoim ~/.curlrc
(_curlrc
w systemie Windows) przez dodanie wartości proxy
, składnia jest następująca:
proxy = http://username:password@proxy-host:port
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-01-11 12:58:46
Podsumowując wszystkie świetne wymienione odpowiedzi:
curl -x http://<user>:<pass>@<proxyhost>:<port>/ -o <filename> -L <link>
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-05-11 13:51:40
C:\Desktop>curl --head https://www.google.com/ --proxy 1.1.1.1:8080
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-09-06 09:54:15
Z proxy z uwierzytelnieniem używam:
curl -x <protocol>://<user>:<password>@<host>:<port> --proxy-anyauth <url>
Ponieważ, Nie wiem dlaczego curl nie używa zmiennych środowiskowych / catch http[s] _proxy.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-31 06:39:43
Nie musisz eksportować zmiennej Powłoki http[s]_proxy
, jeśli ustawiasz proxy dla jednorazowego polecenia. np.
http_proxy=http://your.proxy.server:port curl http://www.example.com
To powiedziawszy, wolałbym curl -x
gdybym wiedział, że zawsze będę używał proxy.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-03-27 18:03:24
W zależności od miejsca pracy może być również konieczne podanie opcji -k
lub --insecure
dla programu curl, aby uniknąć potencjalnych problemów z certyfikatami CA.
curl -x <myCompanyProxy>:<port> -k -O -L <link to file to download>
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-01-11 20:59:07
sudo curl -x http://10.1.1.50:8080/ -fsSL https://download.docker.com/linux/ubuntu/gpg
To działało dla mnie idealnie, błąd przychodzi, ponieważ curl trzeba ustawić the proxy
Remmember zastąp proxy swoim proxy, mine, "example" was http://10.1.1.50:8080/.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-06-11 16:26:32
W przypadku, gdy proxy używa automatycznego proxy z plikiem PAC. Możemy znaleźć rzeczywiste proxy z javascript z PAC URL.
A jeśli proxy wymaga uwierzytelnienia, możemy najpierw użyć zwykłej przeglądarki internetowej, aby uzyskać dostęp do witryny, która będzie promowała okno uwierzytelniania. Po uwierzytelnieniu możemy użyć wireshark do przechwycenia pakietu http wysyłanego do serwera proxy, z pakietu http możemy uzyskać token auth z nagłówka http: Proxy-Authorization
Wtedy my może ustawić zmienną środowiskową http_proxy, a także dołączyć Token auth w nagłówku http: Proxy-Authorization
Export http_proxy=http://proxyserver:port
Curl-H "Proxy-Authorization: xxxx" http://targetURL
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-08-24 00:44:37
curl -vv -k https://example.com -x http://<proxy>:<port>
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-07-23 08:00:09