以前はHttpWebRequestおよびHttpWebResponseセッションでCookieContainerを使用していましたが、今はWebClientで使用したいと思います。私が理解している限り、HttpWebRequests(request.CookieContainer
)のように組み込みのメソッドはありません。CookieContainerでWebClientから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;
}
}
これはそれを行うための最良の方法ですか?
m_container
は決して設定されません!?常に空ではありませんか?