วิธีการตั้งค่าพร็อกซี่สำหรับ wget?


224

ฉันต้องการดาวน์โหลดบางอย่างด้วยการwgetใช้ proxy:

HTTP Proxy: 127.0.0.1
Port: 8080

พร็อกซีไม่ต้องการชื่อผู้ใช้และรหัสผ่าน

ฉันจะทำสิ่งนี้ได้อย่างไร


15
Hakim - ฉันสังเกตเห็นว่าคุณไม่ยอมรับคำตอบใด ๆ หมายความว่าพวกเขาผิดและฉันไม่ควรทำตามคำแนะนำที่ให้ไว้? ถ้าเป็นเช่นนั้นคุณแก้ปัญหาด้วยสิ่งอื่นหรือไม่?
jww

คำตอบ:


413

สำหรับผู้ใช้ทั้งหมดของระบบผ่านทาง/etc/wgetrcหรือสำหรับผู้ใช้กับ~/.wgetrcไฟล์เท่านั้น:

use_proxy=yes
http_proxy=127.0.0.1:8080
https_proxy=127.0.0.1:8080

หรือผ่าน-eตัวเลือกที่อยู่หลัง URL:

wget ... -e use_proxy=yes -e http_proxy=127.0.0.1:8080 ...

4
wget ของฉันบอกว่ามันจะต้องไม่use_proxy=on use_proxy=yesทำงานได้ดีอย่างอื่น
barfuin

4
ถูกตรวจสอบ มันทำงานร่วมกับ wget -e <http_proxy> = 127.0.0.01: 8080 < ดาวน์โหลด > ... โดยไม่ใช้พารามิเตอร์คำสั่ง "use_proxy = yes" ขอบคุณ!
alejandrob

3
@Thomas เซ่นคุณอยู่ที่เหมาะสมwgetrc-คู่มือระบุว่ามันควรจะเป็นonหรือoffแต่ที่จริงพยายามคำสั่งปลอม: -e use_proxy=bnwให้wget: use_proxy: Invalid boolean ‘bnw’; use 'on' or 'off'.ในขณะที่=yesช่วยให้ไม่มีข้อผิดพลาดดังกล่าวจึงดูเหมือนว่าจะได้รับอนุญาต inofficially
mxmlnkn

1
http_proxy=http://<user>:<password>@127.0.01:8080และเช่นเดียวกัน มิฉะนั้นคุณอาจต้องให้อาหารเหล่านี้อย่างชัดเจนขณะที่เรียก wget (ดู - askubuntu.com/a/429943/350255 )
parasrish

1
ฉันจะปิดได้อย่างไร
Tessaracter

83

พิมพ์ในบรรทัดคำสั่ง:

$ export http_proxy=http://proxy_host:proxy_port

สำหรับพร็อกซีรับรองความถูกต้อง

$ export http_proxy=http://username:password@proxy_host:proxy_port

จากนั้นเรียกใช้

$ wget fileurl

สำหรับ https เพียงใช้ https_proxy แทน http_proxy คุณสามารถใส่บรรทัดเหล่านี้ในไฟล์ ~ / .bashrc ของคุณเพื่อที่คุณไม่จำเป็นต้องเรียกใช้งานนี้ทุกครั้ง


วิธีลบพร็อกซี
Tessaracter

1
$ unset http_proxy
shivshnkr

38

การกำหนดค่าที่เป็นไปได้ต่อไปนี้อยู่ใน/etc/wgetrcเพียงแค่ความคิดเห็นและใช้ ...

# You can set the default proxies for Wget to use for http, https, and ftp.
# They will override the value in the environment.
#https_proxy = http://proxy.yoyodyne.com:18023/
#http_proxy = http://proxy.yoyodyne.com:18023/
#ftp_proxy = http://proxy.yoyodyne.com:18023/

# If you do not want to use proxy at all, set this to off.
#use_proxy = on

19

wget ใช้ตัวแปรสภาพแวดล้อมบางอย่างเช่นนี้ที่บรรทัดคำสั่งสามารถทำงานได้:

export http_proxy=http://your_ip_proxy:port/
export https_proxy=$http_proxy
export ftp_proxy=$http_proxy
export dns_proxy=$http_proxy
export rsync_proxy=$http_proxy
export no_proxy="localhost,127.0.0.1,localaddress,.localdomain.com"

มันช่วยเหมือนกันกับโฮมบรูว์!
Miao1007

16

หลังจากลองบทเรียนจำนวนมากเพื่อกำหนดค่า Ubuntu 16.04 LTS ของฉันหลังพร็อกซีที่ผ่านการตรวจสอบความถูกต้องแล้วมันทำงานกับขั้นตอนเหล่านี้:

แก้ไข/etc/wgetrc:

$ sudo nano /etc/wgetrc

ยกเลิกหมายเหตุบรรทัดเหล่านี้:

#https_proxy = http://proxy.yoyodyne.com:18023/
#http_proxy = http://proxy.yoyodyne.com:18023/
#ftp_proxy = http://proxy.yoyodyne.com:18023/
#use_proxy = on

เปลี่ยนhttp://proxy.yoyodyne.com:18023/เป็นhttp://username:password@domain:port/

สำคัญ: ถ้ามันยังไม่ทำงานให้ตรวจสอบว่ารหัสผ่านของคุณมีอักขระพิเศษเช่น#, @... หากเป็นกรณีนี้หลบหนีพวกเขา (ตัวอย่างเช่นแทนที่passw@rdด้วยpassw%40rd)




5

ใน Debian Linux wget สามารถกำหนดค่าให้ใช้พร็อกซีทั้งผ่านตัวแปรสภาพแวดล้อมและผ่าน wgetrc ในทั้งสองกรณีชื่อตัวแปรที่จะใช้สำหรับการเชื่อมต่อ HTTP และ HTTPS คือ

http_proxy=hostname_or_IP:portNumber
https_proxy=hostname_or_IP:portNumber

โปรดทราบว่าไฟล์ / etc / wgetrc มีความสำคัญเหนือกว่าตัวแปรสภาพแวดล้อมดังนั้นหากระบบของคุณมีการกำหนดค่าพร็อกซีที่นั่นและคุณพยายามใช้ตัวแปรสภาพแวดล้อมพวกเขาก็ดูเหมือนจะไม่มีผล!


3
export http_proxy=http://proxy_host:proxy_port/
export https_proxy=https://proxy_host:proxy_port/

หรือ

export http_proxy=http://username:password@proxy_host:proxy_port/
export https_proxy=https://username:password@proxy_host:proxy_port/

ดังที่คนอื่น ๆ ทุกคนอธิบายไว้ที่นี่ตัวแปรสภาพแวดล้อมเหล่านี้ช่วยส่งต่อพร็อกซี

หมายเหตุ:แต่โปรดไม่ว่าถ้ารหัสผ่านมีอักขระพิเศษใด ๆ %<hex_value_of_special_char>แล้วที่จะต้องมีการกำหนดค่าเป็น

ตัวอย่าง:หากรหัสผ่านpass#123จำเป็นต้องใช้pass%23123ในคำสั่งส่งออกด้านบน



2

หากคุณต้องการดำเนินการ wget เพียงครั้งเดียวด้วยพร็อกซีวิธีที่ง่ายที่สุดคือทำโดยใช้สายการบินเดียวดังนี้:

http_proxy=http://username:password@proxy_host:proxy_port wget http://fileurl

หรือด้วย URL เป้าหมาย https:

https_proxy=http://username:password@proxy_host:proxy_port wget https://fileurl


0

เริ่มต้น wget ผ่านsocks5พร็อกซี่ใช้tsocks :

  1. ติดตั้ง tsocks: sudo apt install tsocks
  2. ปรับแต่ง tsocks

    # vi /etc/tsocks.conf
    
    server = 127.0.0.1
    server_type = 5
    server_port = 1080
  3. เริ่มต้น: tsocks wget http://url_to_get
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.