Beberapa bagian wikipedia muncul secara berbeda ketika Anda masuk. Saya ingin membuat halaman pengguna jadi mereka akan muncul seolah-olah saya masuk.
Apakah ada cara saya bisa membuat halaman pengguna seperti ini
http://en.wikipedia.org/wiki/User:A
ini adalah halaman login:
http://en.wikipedia.org/w/index.php?title=Special:UserLogin&returnto=Login&campaign=ACP3
Jawaban:
Cara mudah: login dengan browser Anda, dan berikan cookie untuk wget
Metode termudah: secara umum, Anda perlu menyediakan cookie wget atau curl (login) dari situs web tertentu agar mereka dapat mengambil halaman seolah-olah Anda login .
Jika Anda menggunakan Firefox, mudah dilakukan melalui add-on Ekspor Cookie . Pasang add-on, dan:
cookies.txt
file (Anda dapat mengubah nama file / tujuan).Buka terminal, dan gunakan
wget
dengan--load-cookies=FILENAME
opsi, miscurl --cookie cookies.txt ...
(Saya akan mencoba memperbarui jawaban ini untuk pengguna Chrome / Chromium)
Cara yang sulit: gunakan curl (lebih disukai) atau wget untuk mengatur seluruh sesi
--cookie-jar
atau wget dengan--save-cookies --keep-session-cookies
opsi, bersama dengan metode HTTP / S PUT untuk masuk ke situs, menyimpan cookie masuk, dan kemudian menggunakannya untuk mensimulasikan peramban.sumber
grep mydomain cookies.txt > mydomain-cookies.txt
Solusi mudah lain yang bekerja untuk saya tanpa menginstal apa pun tambahan:
Ini akan memberi Anda perintah yang dapat Anda tempel langsung ke shell Anda, yang memiliki semua kredensial cookie Anda mis
Anda kemudian dapat memodifikasi URL pada perintah untuk mengambil apa pun yang Anda inginkan.
sumber
Dengan cURL sangat mudah untuk menangani cookie dengan dua cara.
curl www.target-url.com -c cookie.txt
maka akan menyimpan file bernama cookie.txt. Tapi Anda harus login, sehingga perlu menggunakan --data dengan argumen seperti:curl -X --data "var1=1&var2=2" www.target-url.com/login.php -c cookie.txt
. Setelah Anda mendapatkan cookie yang masuk Anda dapat mengirimkannya dengan:curl www.target-url.com/?user-page.php -b cookie.txt
Cukup gunakan -c (--cookie) atau -b (--cookie-jar) untuk menyimpan dan mengirim.
Catatan1: Menggunakan cURL CLI jauh lebih mudah daripada PHP dan mungkin lebih cepat;)
Untuk menyimpan konten akhir, Anda dapat dengan mudah menambahkan
> filename.html
perintah CURL Anda kemudian menyimpan kode html lengkap.Note2 tentang "penuh": Anda tidak dapat membuat javascript dengan cURL, dapatkan kode sumber saja.
sumber
-X
parameter adalah singkatan dari "do post", tetapi menggunakan--data=xxx
-X
implisit, sehingga Anda dapat menghapusnya dengan pasti.-b
adalahread cookie
Bagi mereka yang masih tertarik dengan pertanyaan ini, ada ekstensi Chrome yang sangat berguna bernama CurlWGet yang memungkinkan Anda untuk menghasilkan
wget
/curl
permintaan dengan tindakan otentikasi, dll. Dengan satu klik. Untuk menginstal ekstensi ini, ikuti langkah-langkah di bawah ini:Nikmati!
sumber
Posting blog Wget with Firefox Cookies menunjukkan cara mengakses file data sqlite tempat Firefox menyimpan cookie-nya. Dengan begitu kita tidak perlu mengekspor cookie secara manual untuk digunakan dengan wget. Sebuah komentar menunjukkan bahwa itu tidak bekerja dengan cookie sesi, tetapi itu berfungsi dengan baik untuk situs yang saya coba.
sumber
lihat cliget untuk Firefox.
Saat Anda akan mengunduh, pada dialog unduhan akhir Anda mendapatkan opsi untuk menyalin unduhan sebagai baris perintah curl ke clipboard.
sumber
Sudahkah Anda mencoba ini?
sumber
Coba sesuatu seperti:
Lihat juga tautan ini:
Bagaimana cara mengunduh halaman web ini dengan wget?
sumber
> filename.html
untuk menyimpan output pada dir saat ini atau meletakkan filepath lengkap. Ini berlaku untuk sistem Linux dan Windows.Untuk login berbasis situs web yang lebih rumit, Anda juga harus mempertimbangkan untuk menggunakan skrip Python dan beberapa modul yang meniru browser, seperti http://wwwsearch.sourceforge.net/mechanize/ alih-alih
curl
atauwget
.Dengan cara ini cookie sesi ditangani secara otomatis, Anda dapat mengikuti tautan dan mengisi formulir login, dan dengan demikian "skrip" diri Anda sendiri melalui proses login seolah-olah menggunakan browser web Anda.
sumber