Làm cách nào để đặt địa chỉ proxy http cho wget dưới windows?


11

Nếu chạy mà không có tham số wgetbản in của tôi :

D:\>wget
SYSTEM_WGETRC = c:/progra~1/wget/etc/wgetrc
syswgetrc = c:/progra~1/wget/etc/wgetrc
D:\Apps\Util\wget: missing URL
Usage: D:\Apps\Util\wget [OPTION]... [URL]...

Try `D:\Apps\Util\wget --help' for more options.

Điều này có thể có nghĩa, đó là tìm kiếm tập tin wgetrctrong c:/progra~1/wget/etc/wgetrc. Thật không may, vị trí này không có sẵn cho các chương trình không root. Tôi đã nghĩ rằng tôi có thể sửa đổi SYSTEM_WGETRChoặc syswgetrcbiến môi trường, nhưng điều này có vẻ không có hiệu lực

D:\>echo %SYSTEM_WGETRC%
d:\apps\util\wgetrc

D:\>echo %syswgetrc%
D:\APPS\Util\wgetrc

Ouch thật là kỳ lạ. Tại sao bạn nhận được dấu gạch chéo về phía trước c: /? Nó phải là C: \
barlop

cũng buồn cười là wget của bạn nói với bạn về wgetrc, của tôi thì không. Có lẽ chúng ta có một số thiết lập khác nhau. Nhưng bạn có phiên bản nào của wget?
barlop

Câu trả lời:


10

wget --helpkhông nói cho bạn nhiều. Để biết thêm chi tiết, bạn có thể kiểm tra hướng dẫn sử dụng wget trực tuyến Hoặc man wget (chúng là những thứ khác nhau, thường đáng để kiểm tra từng cái)

Nói tóm lại, đây là một ví dụ

C:\sdf>wget -e http_proxy=127.0.0.1:8118 www.google.com

và cái khác

C:\sdf>set http_proxy=127.0.0.1:8118
C:\sdf>wget www.google.com

Các hướng dẫn đề cập đến wgetrccác lệnh . Bạn thấy một số điều về http proxy được liệt kê ở đó.

6.3 Các lệnh Wgetrc

  • http_proxy = string
    Sử dụng chuỗi dưới dạng http proxy, thay vì chuỗi được chỉ định trong môi trường.
  • https_proxy = string
    Sử dụng chuỗi dưới dạng proxy https, thay vì chuỗi được chỉ định trong môi trường.

8.1 Proxy

Wget hỗ trợ proxy cho cả truy xuất http và ftp. Cách tiêu chuẩn để xác định vị trí proxy, mà Wget nhận ra, là sử dụng các biến môi trường sau:

  • http_proxy
  • https_proxy
    Nếu được đặt, các biến http_proxy và https_proxy sẽ chứa các url của proxy cho các kết nối http và https tương ứng.

thêm

Về trang wget man và "hướng dẫn sử dụng wget".

Các trang man trong dòng lệnh được cập nhật, nhưng hướng dẫn sử dụng (một thực thể khác với manpage), không phải lúc nào cũng là một phiên bản wget cập nhật. Khi viết (sept 2015) nó là. http://www.gnu.org/software/wget/manual/wget.html Bạn có thể xem phiên bản ở trên cùng và kiểm tra xem đó có phải là http://ftp.gnu.org/gnu/wget/ mới nhất hay không quá. (Bạn thấy trên archive.org rằng vào tháng 11 năm 2013, hướng dẫn sử dụng gnu đã hết hạn. Vào tháng 11 năm 2013 thậm chí tháng 3 năm 2014, họ vẫn hiển thị wget 1.13.4 từ năm 2011)

Đối với trang chủ, nếu bạn đang kiểm tra từ dòng lệnh thì đó phải là phiên bản bạn đang sử dụng để bạn có thể ổn ở đó bằng cách đảm bảo lệnh của bạn được cập nhật / cập nhật. Bạn có thể muốn kiểm tra xem / bất kỳ nguồn trực tuyến nào bạn đang sử dụng đang hiển thị trang người dùng mới nhất. Cái này có vẻ tốt https://www.kernel.org/doc/man-pages/ liên kết đến http://man7.org/linux/man-pages/man1/wget.1.html Bạn cũng có thể kiểm tra phiên bản ở đó dựa vào liên kết ftp để đảm bảo đó là phiên bản mới nhất.


Vào tháng 12 năm 2013, đó là trường hợp mà người đàn ông wget có phiên bản gần đây hơn trang web. ví dụ: lỗi liên quan đã có trên trang wget năm 2013 đó, nhưng không phải trên sổ tay wget trực tuyến liệt kê các tùy chọn. Vì vậy, trang web không phải lúc nào cũng cập nhật. Mặc dù như đã đề cập trong câu trả lời của tôi, tính đến tháng 9 năm 2015, trang web đã được cập nhật.
barlop

1

Tôi nghĩ bạn chỉ muốn đặt HTTP_PROXYbiến môi trường.

Từ: http://www.gnu.org/software/wget/manual/html_node/Proxies.html :

Wget hỗ trợ proxy cho cả truy xuất http và ftp. Cách tiêu chuẩn để xác định vị trí proxy, mà Wget nhận ra, là sử dụng các biến môi trường sau:

http_proxy
https_proxy

Nếu được đặt, các biến http_proxy và https_proxy sẽ chứa các url của proxy cho các kết nối http và https tương ứng.


1

Câu trả lời của barlop nói chung là tốt, nhưng một vài ý kiến:

trên dòng lệnh dos / windows hoặc tệp bó, bạn chỉ định

set http[s]_proxy=http[s]://proxyserver:port/

sau đó wget hoạt động tốt.

thông thường cũng sẽ lấy thông tin đăng nhập một lần trên cửa sổ của bạn nếu bạn đang ở trong mạng công ty có xác thực NTLM với proxy (không cần phải lo lắng về tên miền - dấu gạch chéo ngược - người dùng)

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.