[英]C# HttpWebRequest Cookies not transmitted
我試圖用從客戶機到服務器 (沒有可用的響應,其中,所述餅干可以提取)一個初始請求傳輸兩個手動創建的Cookie使用以下代碼(如所討論的例如此處 )
HttpWebRequest request =
(HttpWebRequest)HttpWebRequest.Create(
"https://intra.group.net:5115/app/search.do");
//...
CookieContainer oCookies = new CookieContainer();
CookieCollection cookieGroup = new CookieCollection();
Cookie c1 = new Cookie("name1", "value1", "/", ".intra.group.net");
Cookie c2 = new Cookie("name2", "value2", "/", ".intra.group.net");
cookieGroup.Add(c1);
cookieGroup.Add(c2);
oCookies.Add(cookieGroup);
request.CookieContainer = oCookies;
但是原始通信不包含(根據Fiddler)任何Cookie數據。 有什么建議為什么他們不見了? 提前非常感謝您!
也許是一些同步問題。 有時,由於安全原因,Document.Cookie中缺少HttpOnly cookie。您可以在此處嘗試此解決方案。
Cookies在HttpWebRequest中接收,未發送。
它們通過WebReponse發送。
-> HttpContext.Current.Request:包含收到的Cookie
-> HttpContext.Current.Response:包含發送回瀏覽器的cookie。
將您的cookie添加到響應而不是請求中。
HttpCookie cookie = HttpContext.Current.Response.Cookies["someCookie"]
if (cookie != null)
HttpContext.Current.Response.Cookies.Remove(cookie);
HttpCookie updatedCookier = new HttpCookie....
HttpContext.Current.Response.Cookies.Add(updatedCookie);
我不確定這是否適合您,但是幾個月前,我在手動將Cookie粘貼到HttpWebrequest中時做了類似的操作,所以請嘗試以下操作:
假設postReq = WebRequest。
HttpWebRequest request =(HttpWebRequest)HttpWebRequest.Create("SomeUrl");
postReq.Headers.Add("Cookie: PREF=ID=17337a16083851b1:");// You can get this from fiddler
全部張貼在一行中...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.