2011-06-22 109 views
0

我創建的PHP頁面與這些Cookie:在C#中讀取Cookie的

setcookie("0","hello+how+are+you",time()+30); 

在C#中我寫的代碼讀取餅乾:

 string webaddr = "http://www.mywebsite.com"; 
     string cookiesresult = ""; 

     //----Establish Connection to web and get cookies [Commands]----// 
     HttpWebRequest httpwr = (HttpWebRequest)WebRequest.Create(webaddr); 
     httpwr.CookieContainer = new CookieContainer(); 
     HttpWebResponse httpwrs = (HttpWebResponse)httpwr.GetResponse(); 

     //----Start Getting Cookies----// 
     foreach (Cookie cook in httpwrs.Cookies) 
     { 
      cookiesresult = cook.Value; 
     } 

     Console.WriteLine("Cookies Recieved : " + cookiesresult); 

現在的cookie值應該是:你好+如何是+你 而是值爲:你好%2Bhowo%2areo%2you

所以交換+與鄰%2,我不`噸知道是什麼問題

+0

它應該用'%2B'替換'+'。 – Greg

回答

3

曲奇正在URL Encoded,也被稱爲百分號編碼。使用HttpServerUtility.UrlDecode方法解碼它們。

+0

我使用.net框架2,所以我使用系統。什麼 ?獲取HttpServerUtility?並且感謝 – BOSS

+0

它在.NET框架2.0中得到了支持。它在名稱空間System.Web和System.Web.dll –

+0

我有問題的庫,現在我寫一個程序來讀取Cookie和一些Cookie正在編碼,所以我需要解碼它們,我知道我必須使用庫System.Web.HttpUtility.UrlEncode解碼的cookie,但每當我鍵入使用System.Web.HttpUtility.UrlEncode我沒有得到它只是停止使用System.Web庫;沒有更多沒有網絡的潛艇。我正在使用.net frame2,我試圖在.net框架4上,並沒有工作。我不使用ASP我使用控制檯應用程序。並提前感謝。 – BOSS