Aku punya alamat proxy: 125.119.175.48:8909
Bagaimana saya dapat melakukan permintaan HTTP menggunakan cURL seperti curl http://www.example.com
, tapi menentukan rapat umum address dari jaringan saya?
Cara umum:
export http_proxy=http://your.proxy.server:port/
Kemudian anda dapat terhubung melalui proxy dari (banyak) aplikasi.
Dan, sesuai dengan komentar di bawah ini, untuk https:
export https_proxy=https://your.proxy.server:port/
Solusi di atas mungkin tidak bekerja dengan beberapa curl versi saya mencoba mereka sendiri(curl 7.22.0). Tapi apa yang bekerja untuk saya adalah:
curl -x http://proxy_server:proxy_port --proxy-user username:password -L http://url
Harapan itu memecahkan masalah yang lebih baik!
Berhati-hatilah bahwa jika anda menggunakan SOCKS proxy, bukan HTTP/HTTPS proxy, anda akan perlu untuk menggunakan --socks5
bukannya beralih:
curl --socks5 125.119.175.48:8909 http://example.com/
Anda juga dapat menggunakan --socks5-nama host
bukan --socks5
untuk mengatasi DNS di sisi proxy.
sebagai kedirian untuk airween, gagasan lain yang baik adalah untuk menambahkan ini ke anda .bashrc, sehingga anda'akan dapat beralih dari non-proxy ke proxy lingkungan:
alias proxyon="export http_proxy='http://YOURPROXY:YOURPORT';export https_proxy='http://YOURPROXY:YOURPORT'"
alias proxyoff="export http_proxy='';export https_proxy=''"
Di MANA YOURPROXY:YOURPORT adalah persis seperti itu, ip dan port proxy :-).
Kemudian, hanya melakukan
proxyon
sistem anda akan mulai menggunakan proxy, dan sebaliknya dengan:
proxyoff
gunakan berikut
curl -I-x 192.168.X.X:XX http://google.com
192.168.X.X:XX
masukan proxy server ip dan port.
-v
verbose mode ini akan memberikan rincian lebih lanjut, termasuk header dan respon.
Dengan proxy dengan authentikasi yang saya gunakan:
curl -x <protocol>://<user>:<password>@<host>:<port> --proxy-anyauth <url>
karena, saya don't tahu mengapa curl doesn't menggunakan/tangkap http[s]_proxy variabel lingkungan.
Anda don't perlu untuk mengekspor http[s]_proxy
variabel shell jika anda're hanya pengaturan proxy untuk satu dari perintah. misalnya
http_proxy=http://your.proxy.server:port curl http://www.example.com
Yang mengatakan, saya'd sukai curl -x
jika aku tahu aku akan selalu menggunakan proxy.
Tergantung pada tempat kerja anda, anda mungkin juga perlu untuk menentukan -k
atau --tidak aman
pilihan untuk meringkuk dalam rangka untuk melewati potensial masalah dengan sertifikat CA.
curl -x <myCompanyProxy>:<port> -k -O -L <link to file to download>
C:\Desktop>curl --head https://www.google.com/ --proxy 1.1.1.1:8080
sudo curl -x http://10.1.1.50:8080/ -fsSL https://download.docker.com/linux/ubuntu/gpg
Ini bekerja dengan baik bagi saya, kesalahan ini muncul karena curl perlu menetapkan proxy
Remmember mengganti proxy dengan proxy anda, saya, "misalnya" adalah http://10.1.1.50:8080/.
Dalam kasus proxy menggunakan proxy otomatis dengan file PAC. Kita dapat menemukan sebenarnya proxy dari javascript dari PAC URL.
Dan jika proxy kebutuhan otentikasi, pertama-tama kita dapat menggunakan normal web browser untuk mengakses web yang akan mempromosikan dialog otentikasi. Setelah otentikasi, kita dapat menggunakan wireshark untuk menangkap http mengirimkan paket ke server proxy, http paket, kita bisa mendapatkan auth token dari http header: Proxy-Otorisasi
Kemudian kita dapat mengatur variabel lingkungan http_proxy dan juga mencakup otentikasi token pada http header: Proxy-Otorisasi
export http_proxy=http://proxyserver:port
curl -Jam "Proxy-Otorisasi: xxxx" http://targetURL