我試圖從網絡服務器下載文件,例如使用Cookie從URL下載文件
http://web.server.com/getfile=2
現在,在Web瀏覽器中我能做到這一點,因爲我已經驗證自己,可以查看該cookie允許訪問該文件。
我做的研究公平一點,並相信一個cookie容器就拿着餅乾,雖然我無法確定如何,那麼你可以從C#中使用的CookieContainer
我試圖從網絡服務器下載文件,例如使用Cookie從URL下載文件
http://web.server.com/getfile=2
現在,在Web瀏覽器中我能做到這一點,因爲我已經驗證自己,可以查看該cookie允許訪問該文件。
我做的研究公平一點,並相信一個cookie容器就拿着餅乾,雖然我無法確定如何,那麼你可以從C#中使用的CookieContainer
下載這個文件做一個HTTP GET請求到包含cookie的頁面,存儲cookie並附加到getfile的第二個請求。
TODO:添加樣品
在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;
}
}
進行GET請求方含網頁的Cookie,存儲cookie,並連接到第二個請求GETFILE –
謝謝你,那只是簡單的邏輯,我需要!謝謝:) –
祝你好運,並標記它的答案;) –