Saya mencoba menggunakan api web HttpClient
untuk melakukan posting ke titik akhir yang memerlukan login dalam bentuk cookie HTTP yang mengidentifikasi akun (ini hanya sesuatu yang sudah #ifdef
dihapus dari versi rilis).
Bagaimana cara menambahkan cookie ke HttpRequestMessage
?
c#
rest
asp.net-mvc-4
asp.net-web-api
George Mauer
sumber
sumber
The jawabannya diterima adalah cara yang benar untuk melakukan hal ini dalam banyak kasus. Namun, ada beberapa situasi di mana Anda ingin mengatur header cookie secara manual. Biasanya jika Anda menetapkan tajuk "Cookie" itu diabaikan, tetapi itu karena
HttpClientHandler
default untuk menggunakanCookieContainer
propertinya untuk cookie. Jika Anda menonaktifkannya maka dengan menyetelUseCookies
kefalse
Anda dapat mengatur header cookie secara manual dan mereka akan muncul dalam permintaan, misalnyasumber
Setelah menghabiskan berjam-jam untuk masalah ini, tidak ada jawaban di atas yang membantu saya, jadi saya menemukan alat yang sangat berguna.
Pertama, saya menggunakan Telerik's Fiddler 4 untuk mempelajari Permintaan Web saya secara detail
Kedua, saya menemukan plugin yang berguna untuk Fiddler ini:
https://github.com/sunilpottumuttu/FiddlerGenerateHttpClientCode
Itu hanya akan menghasilkan kode C # untuk Anda. Contohnya adalah:
Perhatikan bahwa saya harus mengomentari dua baris karena plugin ini belum sepenuhnya sempurna tetapi ia tetap bekerja.
PENOLAKAN: Saya tidak terkait atau didukung oleh Telerik atau penulis plugin.
sumber
Bagi saya solusi sederhana berfungsi untuk mengatur cookie di objek HttpRequestMessage .
sumber