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
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.
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.