Jawaban:
Gunakan .wgetrcfile ( manual GNU ) di mana Anda dapat mengatur nama pengguna dan kata sandi untuk salah satu atau keduanya ftp dan http.
Untuk menggunakan kredensial yang sama untuk keduanya, tentukan
user=casper
password=CasperPassword
atau secara individual
ftp_user=casperftp
ftp_password=casperftppass
http_user=casperhttp
http_password=casperhttppass
.wgetrcmemberikan fleksibilitas untuk bekerja dengan lebih dari satu server? Jika tidak, .netrcadalah solusi yang lebih baik, lihat jawaban lain dari tobias.pal
.netrcfile, tetapi itu didokumentasikan .
Saya terkejut tidak ada yang menyebutkan .netrcfile. Pertama buat file jika tidak ada dan atur izin aman:
touch ~/.netrc
chmod 600 ~/.netrc
Kemudian Anda dapat menambahkan nama host, nama pengguna dan kata sandi semua dalam satu baris:
echo 'machine example.com login casper password CasperPassword' >> ~/.netrc
Kemudian ketika Anda melakukannya wget https://example.comdan server merespons 401 Authorization Required, wget akan mencoba lagi dengan nama pengguna dan kata sandi dari ~/.netrcfile tersebut.
Saat menggunakan ini dari cron pastikan Anda memiliki HOMEdirektori yang benar . Seringkali set cron HOME=/(dalam hal ini Anda harus membuat file sebagai /.netrc, tetapi lebih baik untuk menetapkan yang tepat HOMEdi awal skrip Anda, seperti export HOME=/root).
Anda dapat menentukan beberapa host dalam ~/.netrcsatu host per baris. Info lebih lanjut di man netrc.
man netrcdi OP, bertanya-tanya MENGAPA ini bekerja, kemudian @ryenus komentar Anda menyelamatkan saya, terima kasih ~ Manual selalu diterima: P Lalu saya tahu itu adalah file rc yang digunakan oleh ftp, yaitu, mungkin tidak berfungsi untuk http. Saya akan mencobanya di http nanti.
Dalam banyak hal, ikal bisa menjadi pilihan yang lebih baik. Wget menjadi agak basi seiring waktu.
sakelar -n curl dapat digunakan untuk tugas ini: http://curl.haxx.se/docs/manpage.html#-n
-iopsi dan memasukkan nama pengguna dan kata sandi dari input standar.