2012-06-07 100 views
1

我試圖從網絡服務器下載文件,例如使用Cookie從URL下載文件

http://web.server.com/getfile=2 

現在,在Web瀏覽器中我能做到這一點,因爲我已經驗證自己,可以查看該cookie允許訪問該文件。

我做的研究公平一點,並相信一個cookie容器就拿着餅乾,雖然我無法確定如何,那麼你可以從C#中使用的CookieContainer

+1

進行GET請求方含網頁的Cookie,存儲cookie,並連接到第二個請求GETFILE –

+0

謝謝你,那只是簡單的邏輯,我需要!謝謝:) –

+0

祝你好運,並標記它的答案;) –

回答

1

下載這個文件做一個HTTP GET請求到包含cookie的頁面,存儲cookie並附加到getfile的第二個請求。

TODO:添加樣品

4

在C#中,你應該使用Web客戶端。 儘管它可以獨立使用,但像這樣的代碼可以減少您每次添加cookie標頭的麻煩。

public class CookieAwareWebClient : WebClient 
{ 
    private readonly CookieContainer m_container = new CookieContainer(); 

    protected override WebRequest GetWebRequest(Uri address) 
    { 
     WebRequest request = base.GetWebRequest(address); 
     HttpWebRequest webRequest = request as HttpWebRequest; 
     if (webRequest != null) 
     { 
      webRequest.CookieContainer = m_container; 
     } 
     return request; 
    } 
}