Saya mencoba menggunakan pustaka Permintaan untuk mengirim cookie dengan permintaan kiriman, tetapi saya tidak yakin bagaimana sebenarnya menyiapkan cookie berdasarkan dokumentasinya. Skrip ini untuk digunakan di Wikipedia, dan cookie yang perlu dikirim adalah dalam bentuk ini:
enwiki_session=17ab96bd8ffbe8ca58a78657a918558e; path=/; domain=.wikipedia.com; HttpOnly
Namun, panduan mulai cepat requests
dokumentasi memberikan ini sebagai satu-satunya contoh:
cookies = dict(cookies_are='working')
Bagaimana cara saya menyandikan cookie seperti di atas menggunakan perpustakaan ini? Apakah saya perlu membuatnya dengan pustaka cookie standar python, lalu mengirimkannya bersama dengan permintaan POST?
python
cookies
http-request
python-requests
Ricardo Altamirano
sumber
sumber
a=b;
pasang. Saat menebak, gunakana
sebagai kunci danb
sebagai nilai dalam kamus.Jawaban:
Rilis terbaru Permintaan akan membuat CookieJars untuk Anda dari kamus sederhana.
Nikmati :)
sumber
Hanya untuk memperluas jawaban sebelumnya, jika Anda menautkan dua permintaan bersama dan ingin mengirim cookie yang dikembalikan dari yang pertama ke yang kedua (misalnya, mempertahankan sesi tetap hidup di seluruh permintaan), Anda dapat melakukan:
sumber
requests.session
untuk hal ini, menyimpan cookie di beberapa sesi, membuat panggilan darisession
objek yang dikembalikan sebagai gantinya.request.session
Jika Anda ingin meneruskan cookie ke browser, Anda harus menambahkan header untuk dikirim kembali. Jika Anda menggunakan wsgi:
Saya berhasil mengotentikasi dengan Bugzilla dan TWiki yang dihosting di domain yang sama, skrip wsgi python saya berjalan dengan meneruskan pengguna / kata sandi auth ke skrip python saya dan meneruskan cookie ke browser. Ini memungkinkan saya untuk membuka halaman Bugzilla dan TWiki di browser yang sama dan diautentikasi. Saya mencoba melakukan hal yang sama dengan SuiteCRM tetapi saya mengalami masalah dengan SuiteCRM dalam menerima cookie sesi yang diperoleh dari skrip python meskipun telah berhasil diautentikasi.
sumber