ฉันมีที่อยู่พร็อกซีนี้: 125.119.175.48:8909
ฉันจะดำเนินการตามคำขอ HTTP โดยใช้ cURL เช่นเดียวกับcurl http://www.example.com
แต่ระบุที่อยู่พร็อกซีของเครือข่ายของฉันได้อย่างไร
ฉันมีที่อยู่พร็อกซีนี้: 125.119.175.48:8909
ฉันจะดำเนินการตามคำขอ HTTP โดยใช้ cURL เช่นเดียวกับcurl http://www.example.com
แต่ระบุที่อยู่พร็อกซีของเครือข่ายของฉันได้อย่างไร
คำตอบ:
วิธีทั่วไป:
export http_proxy=http://your.proxy.server:port/
จากนั้นคุณสามารถเชื่อมต่อผ่านพร็อกซีจากแอปพลิเคชั่น (มาก)
และตามความคิดเห็นด้านล่างสำหรับ https:
export https_proxy=https://your.proxy.server:port/
จาก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
วิธีแก้ปัญหาข้างต้นอาจไม่สามารถใช้กับเวอร์ชั่น curl บางอันที่ฉันลองด้วยตัวเอง (curl 7.22.0) แต่สิ่งที่ใช้ได้ผลสำหรับฉันคือ:
curl -x http://proxy_server:proxy_port --proxy-user username:password -L http://url
หวังว่ามันจะแก้ปัญหาได้ดีกว่า!
[1] 4812
ระวังว่าถ้าคุณใช้พร็อกซี SOCKS แทนพร็อกซี HTTP / HTTPS คุณจะต้องใช้--socks5
สวิตช์แทน:
curl --socks5 125.119.175.48:8909 http://example.com/
คุณสามารถใช้--socks5-hostname
แทน--socks5
การแก้ไข DNS ที่ด้านพร็อกซี
--socks5-hostname
ทำได้
curl https://api.ipify.org --proxy socks5://189.100.246.182:37339
ดูเหมือนว่าจะทำงานได้ดีสำหรับฉัน เป็นทาง--proxy
เลือกที่ด้อยกว่า--socks5
เมื่อใช้ถุงเท้าพร็อกซี่ 5 หรือไม่?
--proxy
อาจเป็นสิ่งที่คุณต้องการในตอนนี้ แต่ก็ไม่ได้รับการสนับสนุนเสมอ โปรดทราบว่าsocks5://
และsocks5h://
ดำเนินการแก้ปัญหาชื่อโฮสต์ (DNS) ก่อนและหลังการเชื่อมต่อกับพร็อกซีตามลำดับ
ในฐานะที่เป็น adition เพื่อ airween ความคิดที่ดีอีกประการหนึ่งคือการเพิ่มสิ่งนี้ลงใน. bashrc ของคุณดังนั้นคุณจะสามารถเปลี่ยนจากสภาพแวดล้อมที่ไม่ใช่พร็อกซีไปเป็นพร็อกซีแบบพร็อกซี:
alias proxyon="export http_proxy='http://YOURPROXY:YOURPORT';export https_proxy='http://YOURPROXY:YOURPORT'"
alias proxyoff="export http_proxy='';export https_proxy=''"
ที่ YOURPROXY: YOURPORT ตรงนั้น ip และพอร์ตพร็อกซีของคุณ :-)
จากนั้นก็ทำ
proxyon
ระบบของคุณจะเริ่มใช้พร็อกซีและตรงกันข้ามกับ:
proxyoff
ใช้ดังต่อไปนี้
curl -I -x 192.168.X.X:XX http://google.com
192.168.X.X:XX
ใส่ IP พร็อกซีเซิร์ฟเวอร์และพอร์ตของคุณ
-v
โหมด verbose มันจะให้รายละเอียดเพิ่มเติมรวมถึงส่วนหัวและการตอบสนอง
คุณสามารถใช้ได้ :
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
คุณสามารถกำหนดค่าพร็อกซีในไฟล์~/.curlrc
( _curlrc
บน Windows) โดยเพิ่มproxy
มูลค่าไวยากรณ์คือ:
proxy = http://username:password@proxy-host:port
เพียงสรุปคำตอบที่กล่าวมาทั้งหมด:
curl -x http://<user>:<pass>@<proxyhost>:<port>/ -o <filename> -L <link>
ฉันใช้พร็อกซีที่มีการตรวจสอบความถูกต้อง:
curl -x <protocol>://<user>:<password>@<host>:<port> --proxy-anyauth <url>
เพราะฉันไม่รู้ว่าทำไม curl ไม่ใช้ / catch http [s] _proxyตัวแปรสภาพแวดล้อม
C:\Desktop>curl --head https://www.google.com/ --proxy 1.1.1.1:8080
คุณไม่จำเป็นต้องส่งออกhttp[s]_proxy
ตัวแปรเชลล์หากคุณเพิ่งตั้งค่าพร็อกซีสำหรับคำสั่งหนึ่งคำสั่ง เช่น
http_proxy=http://your.proxy.server:port curl http://www.example.com
ที่กล่าวว่าฉันต้องการcurl -x
ถ้าฉันรู้ว่าฉันมักจะใช้พร็อกซี่
คุณอาจต้องระบุ-k
หรือ--insecure
ตัวเลือกสำหรับการม้วนเพื่อรับปัญหาที่อาจเกิดขึ้นกับใบรับรอง CA ทั้งนี้ขึ้นอยู่กับที่ทำงานของคุณ
curl -x <myCompanyProxy>:<port> -k -O -L <link to file to download>
ในกรณีที่พรอกซีใช้พร็อกซีอัตโนมัติกับไฟล์ PAC เราสามารถค้นหาพร็อกซีที่แท้จริงจากจาวาสคริปต์จาก PAC URL
และหากพร็อกซีต้องการการรับรองความถูกต้องก่อนอื่นเราสามารถใช้เว็บเบราว์เซอร์ปกติเพื่อเข้าถึงเว็บไซต์ซึ่งจะส่งเสริมการโต้ตอบการตรวจสอบสิทธิ์ หลังจากการรับรองความถูกต้องเราสามารถใช้ wireshark เพื่อจับภาพแพคเกจ http ส่งไปยังพร็อกซีเซิร์ฟเวอร์จากแพ็คเกจ http เราสามารถรับโทเค็นรับรองความถูกต้องจากส่วนหัว http: การอนุญาต
จากนั้นเราสามารถตั้งค่าตัวแปรสภาพแวดล้อม http_proxy และรวมโทเค็นการตรวจสอบความถูกต้องในส่วนหัว http: การอนุญาตพร็อกซี
ส่งออก http_proxy = http: // proxyserver: พอร์ต
curl -H "การอนุญาตพร็อกซี: xxxx" http: // targetURL