ก่อนหน้านี้ฉันเคยใช้ CookieContainer กับเซสชัน HttpWebRequest และ HttpWebResponse แต่ตอนนี้ฉันต้องการใช้กับ WebClient เท่าที่ฉันเข้าใจไม่มีวิธีการในตัวเช่นเดียวกับ HttpWebRequests ( request.CookieContainer
) ฉันจะรวบรวมคุกกี้จาก WebClient ใน CookieContainer ได้อย่างไร
ฉันgoogledสำหรับสิ่งนี้และพบตัวอย่างต่อไปนี้ :
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;
}
}
นี่เป็นวิธีที่ดีที่สุดที่จะทำ?
m_container
ไม่เคยตั้งค่า! มันว่างเปล่าใช่ไหม