Saya sebelumnya menggunakan CookieContainer dengan sesi HttpWebRequest dan HttpWebResponse, tapi sekarang, saya ingin menggunakannya dengan WebClient. Sejauh yang saya mengerti, tidak ada metode built-in seperti ada untuk HttpWebRequests ( request.CookieContainer
). Bagaimana saya bisa mengumpulkan cookie dari WebClient di CookieContainer?
Saya mencari di Google untuk ini dan menemukan sampel berikut :
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;
}
}
Apakah ini cara terbaik untuk melakukannya?
m_container
tidak pernah diatur !? Bukankah selalu kosong?