2012-05-22 60 views
0

我從C#代碼發送一個HTTPWebRequest並作爲響應,我得到一個包含會話ID的cookie。我無法找到公衆/非公衆成員的迴應。不過,小提琴手正在捕獲cookie,其路徑是「/」。任何人都可以告訴我,我應該在哪裏尋找這個cookie?我已檢查文件夾「C:\ Users \ UserName \ AppData \ Roaming \ Microsoft \ Windows \ Cookies」並且它不存在。Cookie存儲在哪裏?

+0

邊注:考慮使用Web客戶端,而不是HttpWebRequest的的。請參閱[使用WebClient和HttpWebRequest](http://blogs.msdn.com/b/silverlight_sdk/archive/2008/04/01/using-webclient-and-httpwebrequest.aspx)瞭解兩者的優缺點。 – Filburt

回答

1

根據瀏覽器的不同,Cookie可能存儲在不同的位置。

我認爲你最好是讓HttpWebRequest使用cookie。

請參閱this question有關將CookieContainer添加到請求對象的回答。

+0

有什麼我需要..感謝您的早期答覆.. :) – Tejas

0

每一個瀏覽器存儲cookies到不同的位置 例如

的Cookie信息被存儲在配置文件的文件夾,在兩個文件中。 從Firefox 3.0和SeaMonkey 2.0開始,cookie信息是 ,存儲在文件cookies.sqlite和permissions.sqlite中。在Firefox 2或更低版本以及Mozilla Suite/SeaMonkey 1.x中,Cookie存儲在 cookies.txt文件中,並且cookie站點權限存儲在 hostperm.1文件中。文件說明cookies.sqlite cookies.txt保存所有的cookie,包括登錄信息,會話數據和 首選項。 permissions.sqlite hostperm.1擁有關於您允許或禁止設置cookie的 的偏好設置,顯示圖像 以打開彈出窗口並啓動擴展安裝。

0

Cookie存儲取決於您的瀏覽器和操作系統。在舊版瀏覽器中,它們只是存儲在名爲「Cookies」的文件路徑中。大多數現代瀏覽器都以某種加密方式存儲cookie,通常位於sqllite db平面文件中。如果您可以通過實際的本地cookie存儲(而不是使用瀏覽器內置的cookie瀏覽器)提供關於您要追蹤的內容的更多信息,它可以幫助您獲得更多信息,瞭解您在哪裏尋找或選擇的內容心神。

0

如果您想要使用HttpWebRequest的持久性cookie,您需要導入wininet.dll來處理此問題(或者您自己處理持久性問題)。

在社區內容部分的WebRequest.Create Method上有一個MSDN示例。

片段

[DllImport("wininet.dll", CharSet=CharSet.Auto , SetLastError=true)] 
     private static extern bool InternetGetCookie (string url, string name, StringBuilder data, ref int dataSize); 

private static string RetrieveIECookiesForUrl(string url) 
{ 
    StringBuilder cookieHeader = new StringBuilder(new String(' ', 256), 256); 
    int datasize = cookieHeader.Length; 
    if (!InternetGetCookie(url, null, cookieHeader, ref datasize)) 
    { 
     if (datasize < 0) 
      return String.Empty; 
     cookieHeader = new StringBuilder(datasize); // resize with new datasize 
     InternetGetCookie(url, null, cookieHeader, ref datasize); 
    } 
    // result is like this: "KEY=Value; KEY2=what ever" 
    return cookieHeader.ToString(); 
} 
+0

這看起來很有趣..肯定會試一試...謝謝... – Tejas