CookieContainer
中使用WebClient
>
類使用CookieContainer
>,解決了為此目的缺乏內置方法。 WebClient
挑戰:WebClient
CookieContainer
>
class WebClient
>
>創建一個具有
子類。這使您可以攔截WebClient
的方法,鑄造為CookieContainer
,然後分配您的容器。 GetWebRequest
>
HttpWebRequest
<code class="language-csharp">public class CookieAwareWebClient : WebClient { private readonly CookieContainer _cookieContainer = new CookieContainer(); public CookieContainer CookieContainer { get { return _cookieContainer; } } protected override WebRequest GetWebRequest(Uri address) { WebRequest request = base.GetWebRequest(address); if (request is HttpWebRequest httpWebRequest) { httpWebRequest.CookieContainer = _cookieContainer; } return request; } }</code>
>
>另外,將cookie直接添加到
對於一個cookie:WebClient
用於多個cookie:
<code class="language-csharp">webClient.Headers.Add(HttpRequestHeader.Cookie, "cookiename=cookievalue");</code>
請記住用實際的cookie數據替換
。 注意cookie之間的半分離器。 此方法不太理想有效地管理會話cookie。<code class="language-csharp">webClient.Headers.Add(HttpRequestHeader.Cookie, "cookiename1=cookievalue1; cookiename2=cookievalue2");</code>
選擇最適合您需求的解決方案。 自定義"cookiename1=cookievalue1; cookiename2=cookievalue2"
提供了更好的cookie管理,尤其是在涉及多個請求和持續性會話的情況下,而標頭注入方法為簡單情況提供了更快的解決方案。
以上是如何在C#中使用cookiecontainer與網絡電量?的詳細內容。更多資訊請關注PHP中文網其他相關文章!