Wget: Có cách nào để chuyển tên người dùng và mật khẩu từ một tập tin không?


22

Có cách nào để chuyển tên người dùng và mật khẩu từ một tệp thay vì dòng lệnh thông qua --user và --password không?

Bối cảnh: Tôi muốn chạy wget qua cron và không muốn tên người dùng / mật khẩu hiển thị trong chế độ xem

Câu trả lời:


13

Sử dụng một .wgetrctệp ( hướng dẫn GNU ) trong đó bạn có thể đặt tên người dùng và mật khẩu cho một hoặc cả hai ftp và http.

Để sử dụng cùng một thông tin cho cả hai chỉ định

user=casper
password=CasperPassword

hoặc cá nhân

ftp_user=casperftp
ftp_password=casperftppass
http_user=casperhttp
http_password=casperhttppass

2
Hướng dẫn sử dụng GNU wget cũng đề xuất sử dụng -itùy chọn và cung cấp tên người dùng và mật khẩu từ đầu vào tiêu chuẩn.
Richard

.wgetrccung cấp sự linh hoạt để làm việc với nhiều hơn một máy chủ không? Nếu không, .netrclà một giải pháp tốt hơn, hãy xem câu trả lời khác từ tobias.pal
ryenus 6/2/2017

Tôi rõ ràng đã bỏ lỡ wget bằng cách sử dụng một .netrctập tin, nhưng nó được ghi lại .
Mike Renfro

19

Tôi ngạc nhiên không ai đề cập đến các .netrctập tin. Trước tiên hãy tạo tệp nếu nó không tồn tại và đặt quyền an toàn:

touch ~/.netrc
chmod 600 ~/.netrc

Sau đó, bạn có thể thêm tên máy chủ, tên người dùng và mật khẩu trên một dòng:

echo 'machine example.com login casper password CasperPassword' >> ~/.netrc

Sau đó, khi bạn làm wget https://example.comvà máy chủ phản hồi 401 Authorization Required, wget sẽ thử lại với tên người dùng và mật khẩu từ ~/.netrctệp.

Khi sử dụng từ cron này, hãy chắc chắn rằng bạn có đúng HOMEthư mục. Thông thường các bộ cron HOME=/(trong trường hợp đó bạn sẽ phải tạo tệp như /.netrc, nhưng tốt hơn là đặt đúng HOMEở đầu tập lệnh của bạn, như export HOME=/root).

Bạn có thể chỉ định nhiều máy chủ trong ~/.netrc, một máy chủ trên mỗi dòng. Thêm thông tin trong man netrc.


2
Đối với cú pháp của .netrc, xem hướng dẫn của nó , hoặc tài liệu curl liên quan .
ryenus

Lúc đầu, tôi quá bất cẩn khi thấy man netrcOP, tự hỏi TẠI SAO điều này hoạt động, sau đó @ryenus bình luận của bạn giúp tôi tiết kiệm, cảm ơn ~ Hướng dẫn luôn được chào đón: P Sau đó tôi biết đó là một tệp RC được sử dụng bởi ftp, đó là không làm việc cho http. Tôi sẽ thử nó trên http sau.
Cuối tuần

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.