Jawaban:
Gunakan .wgetrc
file ( 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
.wgetrc
memberikan fleksibilitas untuk bekerja dengan lebih dari satu server? Jika tidak, .netrc
adalah solusi yang lebih baik, lihat jawaban lain dari tobias.pal
.netrc
file, tetapi itu didokumentasikan .
Saya terkejut tidak ada yang menyebutkan .netrc
file. 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.com
dan server merespons 401 Authorization Required
, wget akan mencoba lagi dengan nama pengguna dan kata sandi dari ~/.netrc
file tersebut.
Saat menggunakan ini dari cron pastikan Anda memiliki HOME
direktori yang benar . Seringkali set cron HOME=/
(dalam hal ini Anda harus membuat file sebagai /.netrc
, tetapi lebih baik untuk menetapkan yang tepat HOME
di awal skrip Anda, seperti export HOME=/root
).
Anda dapat menentukan beberapa host dalam ~/.netrc
satu host per baris. Info lebih lanjut di man netrc
.
man netrc
di 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
-i
opsi dan memasukkan nama pengguna dan kata sandi dari input standar.