Tôi muốn tải xuống một cái gì đó bằng wget
cách sử dụng proxy:
HTTP Proxy: 127.0.0.1
Port: 8080
Proxy không cần tên người dùng và mật khẩu.
Tôi có thể làm cái này như thế nào?
Tôi muốn tải xuống một cái gì đó bằng wget
cách sử dụng proxy:
HTTP Proxy: 127.0.0.1
Port: 8080
Proxy không cần tên người dùng và mật khẩu.
Tôi có thể làm cái này như thế nào?
Câu trả lời:
Đối với tất cả người dùng của hệ thống thông qua /etc/wgetrc
hoặc cho người dùng chỉ với ~/.wgetrc
tệp:
use_proxy=yes
http_proxy=127.0.0.1:8080
https_proxy=127.0.0.1:8080
hoặc thông qua -e
các tùy chọn được đặt sau URL:
wget ... -e use_proxy=yes -e http_proxy=127.0.0.1:8080 ...
use_proxy=on
, không phải use_proxy=yes
. Hoạt động tốt khác.
on
hoặc off
, nhưng thực sự đang thử một lệnh không có thật: -e use_proxy=bnw
đưa ra wget: use_proxy: Invalid boolean ‘bnw’; use 'on' or 'off'.
trong khi =yes
không có lỗi như vậy, vì vậy nó dường như được cho phép không chính thức.
http_proxy=http://<user>:<password>@127.0.01:8080
Và tương tự. nếu không, bạn có thể phải cho chúng ăn một cách rõ ràng trong khi gọi wget (tham khảo - askubfox.com/a/429943/350255 )
Nhập dòng lệnh:
$ export http_proxy=http://proxy_host:proxy_port
cho proxy xác thực
$ export http_proxy=http://username:password@proxy_host:proxy_port
và sau đó chạy
$ wget fileurl
đối với https, chỉ cần sử dụng https_proxy thay vì http_proxy. Bạn cũng có thể đặt các dòng này trong tệp ~ / .bashrc để không cần phải thực hiện điều này mọi lúc.
các cấu hình có thể có sau đây được đặt trong /etc/wgetrc
uncomment và sử dụng ...
# 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 sử dụng các biến môi trường một số thứ như thế này tại dòng lệnh có thể hoạt động:
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"
Sau khi thử nhiều hướng dẫn để định cấu hình Ubuntu 16.04 LTS của tôi đằng sau một proxy được xác thực, nó đã hoạt động với các bước sau:
Chỉnh sửa /etc/wgetrc
:
$ sudo nano /etc/wgetrc
Bỏ ghi chú những dòng này:
#https_proxy = http://proxy.yoyodyne.com:18023/
#http_proxy = http://proxy.yoyodyne.com:18023/
#ftp_proxy = http://proxy.yoyodyne.com:18023/
#use_proxy = on
Thay đổi http://proxy.yoyodyne.com:18023/
thànhhttp://username:password@domain:port/
QUAN TRỌNG: Nếu nó vẫn không làm việc, kiểm tra nếu mật khẩu của bạn có ký tự đặc biệt, chẳng hạn như
#
,@
, ... Nếu đây là trường hợp, thoát khỏi chúng (ví dụ, thay thếpassw@rd
bằngpassw%40rd
).
Trong Ubuntu 12.x, tôi đã thêm các dòng sau vào $ HOME / .wgetrc
http_proxy = http: // uname: passwd@proxy.blah.com: 8080
use_proxy = bật
Trong Ubuntu của tôi, các dòng sau trong $ HOME / .wgetrc đã thực hiện thủ thuật này!
http_proxy = http: // uname: passwd@proxy.blah.com: 8080
use_proxy = bật
Trong Debian Linux, wget có thể được cấu hình để sử dụng proxy cả thông qua các biến môi trường và qua wgetrc. Trong cả hai trường hợp, tên biến được sử dụng cho kết nối HTTP và HTTPS là
http_proxy=hostname_or_IP:portNumber
https_proxy=hostname_or_IP:portNumber
Lưu ý rằng tệp / etc / wgetrc được ưu tiên hơn các biến môi trường, do đó nếu hệ thống của bạn có proxy được cấu hình ở đó và bạn cố gắng sử dụng các biến môi trường, chúng dường như không có tác dụng!
export http_proxy=http://proxy_host:proxy_port/
export https_proxy=https://proxy_host:proxy_port/
hoặc là
export http_proxy=http://username:password@proxy_host:proxy_port/
export https_proxy=https://username:password@proxy_host:proxy_port/
Như tất cả những người khác đã giải thích ở đây, các biến môi trường này giúp truyền các proxy.
Lưu ý: Nhưng xin lưu ý rằng nếu mật khẩu chứa bất kỳ ký tự đặc biệt nào thì cần phải được cấu hình là %<hex_value_of_special_char>
.
Ví dụ: Nếu mật khẩu là pass#123
, cần phải được sử dụng như pass%23123
trong các lệnh xuất ở trên.
Nếu bạn cần thực thi wget chỉ một lần với proxy, cách dễ nhất là thực hiện với một lớp lót như thế này:
http_proxy=http://username:password@proxy_host:proxy_port wget http://fileurl
hoặc với URL mục tiêu https:
https_proxy=http://username:password@proxy_host:proxy_port wget https://fileurl
Thêm (các) dòng dưới đây trong tệp ~ / .wgetrc hoặc / etc / wgetrc (tạo tệp nếu không có):
http_proxy = http://[Proxy_Server]:[port]
https_proxy = http://[Proxy_Server]:[port]
ftp_proxy = http://[Proxy_Server]:[port]
Để biết thêm thông tin, https://www.thegeekdiary.com/how-to-use-wget-to-doad-file-via-proxy/