Saya memiliki 2 halaman: xyz.com/a
dan xyz.com/b
. Saya hanya dapat mengakses xyz.com/b
jika dan hanya jika saya login xyz.com/a
terlebih dahulu. Jika mengakses xyz.com/b
tanpa melalui yang lain, saya cukup mendapat akses ditolak (tidak ada redirect untuk login) lewat browser. Setelah saya masuk di xyz.com/a
, saya dapat mengakses yang lain.
Masalah saya melakukan ini menggunakan perintah curl. Saya berhasil masuk xyz.com/a
menggunakan curl, tetapi kemudian mencoba xyx.com/b
dan saya mendapatkan akses ditolak.
Saya menggunakan yang berikut ini:
curl --user user:pass https://xyz.com/a #works ok
curl https://xyz.com/b #doesn't work
Saya sudah mencoba menggunakan baris kedua dengan & tanpa bagian pengguna / kata sandi dan masih tidak berfungsi. Kedua halaman menggunakan CA yang sama, jadi itu tidak menjadi masalah. Ada saran? Terima kasih
somefile
berisi parameter jalur (/a
dalam hal ini) dan tidak diteruskan ke panggilan kedua. Jika saya mengedit cookie di file dan hanya memberi garis miring, itu berfungsi (cookie diteruskan ke panggilan kedua). Apakah Anda tahu apakah mungkin untuk mencegah penyimpanan jalur di file cookie?Anda juga mungkin ingin masuk melalui browser dan mendapatkan perintah dengan semua header termasuk cookie:
Buka tab Jaringan Alat Pengembang, masuk, navigasi ke halaman yang diperlukan, gunakan "Salin sebagai cURL".
sumber
Setelah beberapa googling saya menemukan ini:
Tidak tahu apakah itu berhasil, tetapi itu mungkin membawa Anda ke arah yang benar.
sumber
Jawaban saya adalah mod dari beberapa jawaban sebelumnya dari @JoeMills dan @user.
Dapatkan
cURL
perintah untuk masuk ke server:Ubah perintah cURL agar dapat menyimpan cookie sesi setelah login
-H 'Cookie: <somestuff>'
curl
di awal-c login_cookie.txt
'login_cookie.txt'
di folder yang samaPanggil halaman web baru menggunakan cookie baru ini yang mengharuskan Anda untuk masuk
curl -b login_cookie.txt <url_that_requires_log_in>
Saya telah mencoba ini di Ubuntu 20.04 dan berfungsi seperti pesona.
sumber