我想在C#中使用WebClient對象下載某些內容,但下載域需要我登錄。如何使用WebClient登錄並保存會話數據?我知道如何使用WebClient發佈數據。如何使用WebClient登錄網站?
29
A
回答
47
如果您遇到的問題是您可以進行身份驗證,但您無法在此處保留身份驗證Cookie,那麼此Cookie是Cookie識別的WebClient版本。
private class CookieAwareWebClient : WebClient
{
public CookieAwareWebClient()
: this(new CookieContainer())
{ }
public CookieAwareWebClient(CookieContainer c)
{
this.CookieContainer = c;
}
public CookieContainer CookieContainer { get; set; }
protected override WebRequest GetWebRequest(Uri address)
{
WebRequest request = base.GetWebRequest(address);
var castRequest = request as HttpWebRequest;
if (castRequest != null)
{
castRequest.CookieContainer = this.CookieContainer;
}
return request;
}
}
編輯: 你給我的鏈接使用窗體身份驗證與HTTP POST,我沒有走,雖然它的時間,但至少它可以讓你與谷歌開始。
-1
看看使用Credentials屬性。例如。如果使用基本身份驗證,則必須使用正確的用戶名和密碼將該屬性設置爲NetworkCredential的實例。
sample指向顯示如何使用當前登錄的用戶憑據的請求。
相關問題
- 1. C#WebClient登錄網站
- 2. 使用WebBrowser登錄網站後使用WebClient下載文件
- 3. 無法使用WebClient登錄到asp.net網站
- 4. 如何使用RESTAPI登錄網站?
- 5. Java - 如何使用HtmlUnit登錄網站?
- 6. 如何使用LDAP登錄網站
- 7. 如何使用Python登錄到網站?
- 8. 如何使用HttpWebRequest登錄到網站
- 9. 如何使用C#登錄網站?
- 10. 如何使用python登錄網站
- 11. 如何使用vba登錄網站?
- 12. 如何使用python3.2 urllib登錄網站?
- 13. 如何使用httpclient登錄網站?
- 14. 如何使用DotNetOpenAuth登錄網站?
- 15. 如何使用iOS登錄網站
- 16. 如何使用soapui登錄網站
- 17. 如何使用python登錄網站?
- 18. 如何使用python登錄Nike +網站?
- 19. 如何使用Selenium Java登錄網站?
- 20. 如何使用HttpWebRequest登錄網站?
- 21. 使用WebClient或HttpWebRequest登錄
- 22. 網站使用PHP登錄
- 23. 使用C登錄網站#
- 24. 使用ASIHttpRequest登錄網站
- 25. 登錄網站使用http.client
- 26. 登錄網站使用casperJS
- 27. 使用RSelenium登錄網站
- 28. 使用casperjs登錄網站
- 29. 使用android登錄網站
- 30. 使用python登錄網站
服務器需要什麼樣的身份驗證機制?基本,窗體,Windows/NTLM? – 2011-01-19 21:12:29
大聲笑我解決了這個問題,通過從Firefox瀏覽器中查找maunally來添加數值:) webClient.Headers.Add(「Cookie」,「PHPSESSID = xxxxxxx; mosesuser = xxxxxxx;」); – MonsterMMORPG 2011-01-19 21:59:18
哪些值?你的意思是真正的auth cookie嗎?請記住,該值可能會過期,並且不能在以後重新使用。 – 2011-01-19 22:50:28