Requests: koma dalam kasus: bergabung dengan beberapa Header Set-Cookie

Dibuat pada 7 Apr 2017  ·  3Komentar  ·  Sumber: psf/requests

Banyak aplikasi web mengirim cookie dalam beberapa header Set-Cookie, satu header untuk satu cookie. Permintaan menggabungkan tajuk ini dalam satu tajuk besar yang dipisahkan dengan koma.

Dari aplikasi web yang sama ke request.get

Set-Cookie: ASP.NET_SessionId=token1; path=/; HttpOnly
Set-Cookie: Cookie1=token2; path=/ecp
Set-Cookie: X-BEResource=WIN-RBFR0BDA7V7.testlab.net~1; path=/ecp/15.0.516.30; HttpOnly
Set-Cookie: X-BackEndCookie=token3; expires=Mon, 03-Apr-2017 12:25:07 GMT; path=/ecp; HttpOnly

Dalam permintaan:
resp.headers ini terlihat seperti

Set-Cookie: ASP.NET_SessionId=token1; path=/; HttpOnly,    
  Cookie1=token2; path=/ecp, 
  X-BEResource=WIN-RBFR0BDA7V7.testlab.net~1; path=/ecp/15.0.516.30; HttpOnly, 
  X-BackEndCookie=token3; expires=Thu, 06-Apr-2017 08:27:22 GMT; path=/ecp; HttpOnly

Firefox, IE, Chrome tidak valid menafsirkan cookie ini karena pemisah adalah koma tetapi di bidang EXPIRES hari dan tanggal pisahkan koma.

Masalah utama dalam lalu lintas modifikasi. Menurut pendapat saya maka server mengirim banyak header lib harus mengembalikan banyak header

Komentar yang paling membantu

Permintaan tidak menjanjikan tentang meninggalkan header dalam bentuk yang diterima dari server. Saat ini, saya sangat menyarankan Anda menggunakan permintaan cookiejar yang digunakan untuk menyimpan cookie daripada mengekstraknya dari header: kami memasukkannya dengan benar di sana.

Untuk jangka panjang, kami mungkin harus menambahkan perbaikan untuk mengecualikan header Set-Cookie agar tidak bergabung dengan cara ini.

Semua 3 komentar

Permintaan tidak menjanjikan tentang meninggalkan header dalam bentuk yang diterima dari server. Saat ini, saya sangat menyarankan Anda menggunakan permintaan cookiejar yang digunakan untuk menyimpan cookie daripada mengekstraknya dari header: kami memasukkannya dengan benar di sana.

Untuk jangka panjang, kami mungkin harus menambahkan perbaikan untuk mengecualikan header Set-Cookie agar tidak bergabung dengan cara ini.

Ini telah menggigit kami dan menghabiskan beberapa jam. Saya ingin memilih untuk membiarkan Set-Cookie tetap utuh. Mengapa permintaan mengutak-atik header? Apakah ada alasan bagus untuk itu? IMHO itu hanya memperumit masalah untuk semua orang. Apa yang saya lewatkan?
Terima kasih atas kerja bagus Anda!

Hai, ada cara untuk mengurai tajuk dengan benar dengan https://github.com/Ousret/kiss-headers requests tidak akan dapat mengubah representasi mereka untuk tajuk dalam waktu dekat.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat