Saya punya alamat proxy ini: 125.119.175.48:8909
Bagaimana saya bisa melakukan permintaan HTTP menggunakan seperti CURL curl http://www.example.com
, tetapi menentukan alamat proxy jaringan saya?
Saya punya alamat proxy ini: 125.119.175.48:8909
Bagaimana saya bisa melakukan permintaan HTTP menggunakan seperti CURL curl http://www.example.com
, tetapi menentukan alamat proxy jaringan saya?
Jawaban:
Cara umum:
export http_proxy=http://your.proxy.server:port/
Kemudian Anda dapat terhubung melalui proxy dari (banyak) aplikasi.
Dan, sesuai komentar di bawah, untuk https:
export https_proxy=https://your.proxy.server:port/
Dari 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.
-x user:password@proxyhost:port
Solusi di atas mungkin tidak berfungsi dengan beberapa versi curl yang saya coba sendiri (curl 7.22.0). Tetapi yang berhasil bagi saya adalah:
curl -x http://proxy_server:proxy_port --proxy-user username:password -L http://url
Semoga ini bisa menyelesaikan masalah dengan lebih baik!
[1] 4812
Berhati-hatilah bahwa jika Anda menggunakan proxy SOCKS, alih-alih proxy HTTP / HTTPS, Anda harus menggunakan --socks5
sakelar:
curl --socks5 125.119.175.48:8909 http://example.com/
Anda juga dapat menggunakan --socks5-hostname
alih-alih --socks5
menyelesaikan DNS di sisi proxy.
--socks5-hostname
tidak.
curl https://api.ipify.org --proxy socks5://189.100.246.182:37339
sepertinya bekerja dengan baik untuk saya. Apakah --proxy
opsi dalam beberapa cara lebih rendah daripada --socks5
ketika menggunakan proxy socks5?
--proxy
mungkin apa yang Anda inginkan, sekarang, tetapi itu tidak selalu didukung. Perhatikan juga socks5://
dan socks5h://
lakukan resolusi hostname (DNS) sebelum dan sesudah menyambungkan ke proxy.
sebagai saran untuk airween, ide bagus lainnya adalah menambahkan ini ke .bashrc Anda, sehingga Anda dapat beralih dari lingkungan yang tidak proksi ke proksi:
alias proxyon="export http_proxy='http://YOURPROXY:YOURPORT';export https_proxy='http://YOURPROXY:YOURPORT'"
alias proxyoff="export http_proxy='';export https_proxy=''"
WHERE YOURPROXY: YOURPORT persis seperti itu, ip dan port proxy Anda :-).
Kemudian, cukup lakukan
proxyon
sistem Anda akan mulai menggunakan proxy, dan sebaliknya dengan:
proxyoff
gunakan yang berikut ini
curl -I -x 192.168.X.X:XX http://google.com
192.168.X.X:XX
masukkan ip dan port server proxy Anda.
-v
mode verbose itu akan memberikan rincian lebih lanjut termasuk header dan respons.
kamu bisa menggunakan :
curl http://www.example.com --proxy http://125.119.175.48:8909
seperti yang dijelaskan oleh Karl
Untuk curl
Anda dapat mengonfigurasi proxy di file ~/.curlrc
( _curlrc
pada Windows) Anda dengan menambahkan proxy
nilai, sintaksnya adalah:
proxy = http://username:password@proxy-host:port
Hanya meringkas semua jawaban yang disebutkan:
curl -x http://<user>:<pass>@<proxyhost>:<port>/ -o <filename> -L <link>
Dengan proxy dengan otentikasi saya menggunakan:
curl -x <protocol>://<user>:<password>@<host>:<port> --proxy-anyauth <url>
karena, saya tidak tahu mengapa curl tidak menggunakan / menangkap http [s] _proxy variabel lingkungan.
C:\Desktop>curl --head https://www.google.com/ --proxy 1.1.1.1:8080
Anda tidak perlu mengekspor http[s]_proxy
variabel shell jika Anda hanya mengatur proxy untuk perintah satu kali. misalnya
http_proxy=http://your.proxy.server:port curl http://www.example.com
Yang mengatakan, saya lebih suka curl -x
jika saya tahu saya akan selalu menggunakan proxy.
Bergantung pada tempat kerja Anda, Anda mungkin juga perlu menentukan -k
atau --insecure
opsi untuk ikal agar dapat melewati masalah potensial dengan sertifikat CA.
curl -x <myCompanyProxy>:<port> -k -O -L <link to file to download>
sudo curl -x http://10.1.1.50:8080/ -fsSL https://download.docker.com/linux/ubuntu/gpg
Ini berfungsi dengan baik untuk saya, kesalahan datang karena curl perlu mengatur proxy
Ingat mengganti proxy dengan proxy Anda, milikku, "contoh" adalah http://10.1.1.50:8080/ .
Dalam hal proxy menggunakan proxy otomatis dengan file PAC. Kami dapat menemukan proksi yang sebenarnya dari javascript dari URL PAC.
Dan jika proxy memerlukan otentikasi, pertama-tama kita dapat menggunakan browser web normal untuk mengakses situs web yang akan mempromosikan dialog otentikasi. Setelah otentikasi, kita dapat menggunakan wireshark untuk menangkap paket http yang dikirim ke server proxy, dari paket http, kita bisa mendapatkan token auth dari header http: Proxy-Authorization
Kemudian kita dapat mengatur variabel lingkungan http_proxy dan juga menyertakan token auth di header http: Proxy-Authorization
ekspor http_proxy = http: // proxyserver: port
curl -H "Proxy-Otorisasi: xxxx" http: // targetURL