/// <summary>
/// 支持 Session 和 Cookie 的 WebClient。
/// </summary>public class HttpClient : WebClient
{
// Cookie 容器
private CookieContainer
cookieContainer;
/// <summary>
/// 創(chuàng )建一個(gè)新的 WebClient 實(shí)例。
/// </summary> public HttpClient()
{
this.
cookieContainer =
new CookieContainer();
}
/// <summary>
/// 創(chuàng )建一個(gè)新的 WebClient 實(shí)例。
/// </summary>
/// <param name="cookie">Cookie 容器</param> public HttpClient(CookieContainer cookies)
{
this.
cookieContainer = cookies;
}
/// <summary>
/// Cookie 容器
/// </summary> public CookieContainer Cookies
{
get {
return this.
cookieContainer; }
set {
this.
cookieContainer = value; }
}
/// <summary>
/// 返回帶有 Cookie 的 HttpWebRequest。
/// </summary>
/// <param name="address"></param>
/// <returns></returns> protected override WebRequest GetWebRequest(Uri address)
{
WebRequest request =
base.GetWebRequest(address);
if (request
is HttpWebRequest)
{
HttpWebRequest httpRequest = request
as HttpWebRequest;
httpRequest.CookieContainer = cookieContainer;
}
return request;
}
封裝了PostData, GetSrc 和 GetFile 方法}