ฉันต้องการดาวน์โหลดบางอย่างด้วยการwget
ใช้ proxy:
HTTP Proxy: 127.0.0.1
Port: 8080
พร็อกซีไม่ต้องการชื่อผู้ใช้และรหัสผ่าน
ฉันจะทำสิ่งนี้ได้อย่างไร
ฉันต้องการดาวน์โหลดบางอย่างด้วยการwget
ใช้ proxy:
HTTP Proxy: 127.0.0.1
Port: 8080
พร็อกซีไม่ต้องการชื่อผู้ใช้และรหัสผ่าน
ฉันจะทำสิ่งนี้ได้อย่างไร
คำตอบ:
สำหรับผู้ใช้ทั้งหมดของระบบผ่านทาง/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 ...
use_proxy=on
use_proxy=yes
ทำงานได้ดีอย่างอื่น
on
หรือoff
แต่ที่จริงพยายามคำสั่งปลอม: -e use_proxy=bnw
ให้wget: use_proxy: Invalid boolean ‘bnw’; use 'on' or 'off'.
ในขณะที่=yes
ช่วยให้ไม่มีข้อผิดพลาดดังกล่าวจึงดูเหมือนว่าจะได้รับอนุญาต inofficially
http_proxy=http://<user>:<password>@127.0.01:8080
และเช่นเดียวกัน มิฉะนั้นคุณอาจต้องให้อาหารเหล่านี้อย่างชัดเจนขณะที่เรียก wget (ดู - askubuntu.com/a/429943/350255 )
พิมพ์ในบรรทัดคำสั่ง:
$ 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 ของคุณเพื่อที่คุณไม่จำเป็นต้องเรียกใช้งานนี้ทุกครั้ง
การกำหนดค่าที่เป็นไปได้ต่อไปนี้อยู่ใน/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
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"
หลังจากลองบทเรียนจำนวนมากเพื่อกำหนดค่า 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
)
ใน Ubuntu 12.x ฉันเพิ่มบรรทัดต่อไปนี้ใน $ HOME / .wgetrc
http_proxy = http: // uname: passwd@proxy.blah.com: 8080
use_proxy = เปิด
ในอูบุนตูของฉันบรรทัดต่อไปนี้ใน $ HOME / .wgetrc ได้หลอกลวง!
http_proxy = http: // uname: passwd@proxy.blah.com: 8080
use_proxy = เปิด
ใน Debian Linux wget สามารถกำหนดค่าให้ใช้พร็อกซีทั้งผ่านตัวแปรสภาพแวดล้อมและผ่าน wgetrc ในทั้งสองกรณีชื่อตัวแปรที่จะใช้สำหรับการเชื่อมต่อ HTTP และ HTTPS คือ
http_proxy=hostname_or_IP:portNumber
https_proxy=hostname_or_IP:portNumber
โปรดทราบว่าไฟล์ / etc / wgetrc มีความสำคัญเหนือกว่าตัวแปรสภาพแวดล้อมดังนั้นหากระบบของคุณมีการกำหนดค่าพร็อกซีที่นั่นและคุณพยายามใช้ตัวแปรสภาพแวดล้อมพวกเขาก็ดูเหมือนจะไม่มีผล!
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
ในคำสั่งส่งออกด้านบน
ใน Windows - สำหรับ Fiddler พูด - โดยใช้ตัวแปรสภาพแวดล้อม:
set http_proxy=http://127.0.0.1:8888
set https_proxy=http://127.0.0.1:8888
หากคุณต้องการดำเนินการ 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
เพิ่มบรรทัดด้านล่างในไฟล์~ / .wgetrcหรือ/ etc / wgetrc (สร้างไฟล์หากไม่มี):
http_proxy = http://[Proxy_Server]:[port]
https_proxy = http://[Proxy_Server]:[port]
ftp_proxy = http://[Proxy_Server]:[port]
สำหรับข้อมูลเพิ่มเติมhttps://www.thegeekdiary.com/how-to-use-wget-to-download-file-via-proxy/
เริ่มต้น wget ผ่านsocks5พร็อกซี่ใช้tsocks :
sudo apt install tsocks
ปรับแต่ง tsocks
# vi /etc/tsocks.conf
server = 127.0.0.1
server_type = 5
server_port = 1080
tsocks wget http://url_to_get