Secara khusus, saya ingin dapat mengunduh halaman tertentu dari profil pengguna saya di berbagai situs Stack Exchange. Namun, saya ingin melakukan ini secara otomatis (menggunakan cron
pekerjaan), dari baris perintah dan dalam format yang dapat diuraikan. Saya lebih suka menggunakan Linux untuk ini, tetapi saya bisa mendapatkan akses ke mesin Mac atau Windows jika perlu.
Idealnya, saya ingin menggunakan alat seperti Wget atau cURL untuk mengambil halaman. Saya tidak tahu bagaimana cara melewati login. Saya telah melihat saran yang menyebutkan bahwa Anda dapat masuk melalui Firefox, mengekspor cookie yang relevan dan mengimpornya ke Wget melalui --load-cookies
opsinya. Misalnya di sini dan di sini . Meskipun ini berfungsi jika saya baru saja masuk, tidak setelah beberapa saat. Saya kira karena token ID harus di-refresh.
Jadi, tepat setelah masuk ke SU dan mengekspor cookie saya, saya dapat melakukan:
wget --load-cookies cookies.txt \
https://superuser.com/users/151431/terdon?tab=responses
Namun setelah beberapa menit, saya mendapatkan kesalahan 404:
wget -O ~/stack/$(date +%s) --load-cookies ~/cookies.txt \
https://superuser.com/users/151431/terdon?tab=responses
--2013-08-06 04:04:14-- https://superuser.com/users/151431/terdon?tab=responses
Resolving superuser.com (superuser.com)... 198.252.206.16
Connecting to superuser.com (superuser.com)|198.252.206.16|:80... connected.
HTTP request sent, awaiting response... 404 Not Found
2013-08-06 04:04:15 ERROR 404: Not Found.
Jadi, bagaimana saya bisa masuk secara otomatis ke situs web yang diaktifkan OpenID dari baris perintah?
PS. Saya pikir ini lebih cocok di sini daripada di aplikasi web karena pertanyaan saya benar-benar tentang aspek baris perintah dan bukan rincian sebenarnya dari halaman web yang dimaksud. Saya kira solusi apa pun akan berlaku untuk semua situs OpenID .
Jawaban:
Anda tidak bisa, karena Cookie sangat sering disegarkan. Ini untuk tujuan keamanan, satu-satunya cara Anda bisa melakukan ini adalah seperti yang sudah Anda lakukan. minimal, dari pemahaman saya.
sumber
(Re-) Baca halaman manual untuk
wget
dan lihat deskripsi untuk--user
dan--password
bendera.Perhatikan bahwa memasukkan kata sandi sebagai argumen baris perintah tidak disarankan, karena siapa pun yang menjalankannya
ps
dapat melihatnya. Praktik terbaik adalah tidak menyimpan kata sandi mentah di mana pun, tetapi cara terbaik berikutnya adalah memasukkannya ke dalam file yang hanya dapat dibaca oleh pemiliknya.sumber