/// <summary>
/// WebClient的扩展
/// </summary>
public class webClient : WebClient
{
/// <summary>是否重定向 默认为true</summary>
public bool AllowAutoRedirect { get; set; }
/// <summary>
///获取或设置 Referer HTTP 标头的值。默认值为 null。
/// </summary>
public string Referer { get; set; }
/// <summary>
/// 获取或设置 Content-type HTTP 标头的值。 默认: application/x-www-form-urlencoded
/// </summary>
public string ContentType { get; set; }
/// <summary>
/// 获取或设置 User-agent HTTP 标头的值。默认:Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0)
/// </summary>
public string UserAgent { get; set; } /// <summary>
/// 获取或设置 GetResponse 和 GetRequestStream 方法的超时值(以毫秒为单位)。 默认值是 30,000 毫秒(30 秒)。
/// </summary>
public int Timeout { get; set; }
/// <summary>
/// 获取或设置写入或读取流时的超时(以毫秒为单位)。默认值为 300,000 毫秒(5 分钟)
/// </summary>
public int ReadWriteTimeout { get; set; } /// <summary>获取或设置请求相关联的Cookie</summary>
public CookieContainer CookieContainer { get; set; }
/// <summary>创建一个新的 WebClient 实例。</summary>
public webClient()
{
this.UserAgent = "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0)";
this.ContentType = "application/x-www-form-urlencoded";
this.CookieContainer = new CookieContainer();
this.AllowAutoRedirect = true;
this.Timeout = * ;
this.ReadWriteTimeout = * ;
}
protected override WebRequest GetWebRequest(Uri address)
{
HttpWebRequest request = (HttpWebRequest)base.GetWebRequest(address);
if (this.Referer != null) request.Referer = this.Referer;
if (this.ContentType != null) request.ContentType = this.ContentType;
if (this.UserAgent != null) request.UserAgent = this.UserAgent;
request.AllowAutoRedirect = this.AllowAutoRedirect;
request.CookieContainer = this.CookieContainer; //这句很关键,有了他可以保存返回的Cookie
request.Timeout = this.Timeout;
request.ReadWriteTimeout = this.ReadWriteTimeout;
return request;
}
}

最新文章

  1. AngularJS中使用service,并同步数据
  2. AJAX.JSONP 跨域
  3. IntelliJ IDEA + Maven环境编写第一个hadoop程序
  4. 360 webscan中防注入跨站攻击的核心
  5. Servlet间的跳转
  6. CentOS 6.5安装MySQL中文乱码问题解决
  7. java中的浮点(float)运算
  8. RBL, UBL, Uboot的关系
  9. 格而知之9:一些关于GCD的笔记
  10. HTML5 canvas准备知识
  11. 【android开发】小说阅读器
  12. Score(规律)
  13. macOS平台下虚拟摄像头的研发总结
  14. 201521123003《Java程序设计》第13周学习总结
  15. ROS机器人程序设计(原书第2版)补充资料 (壹) 第一章 ROS系统入门
  16. Shell-cat url-list.txt | xargs wget -c
  17. Jmeter实现Basic Auth方式登录
  18. Ubuntu 14.04服务器配置 (1) 安装和配置
  19. linux中VI编写C程序。。。
  20. Atlas &amp; mysql-proxy

热门文章

  1. static 静态代码块 动态代码块 单例
  2. Tomcat9源码编译及导入Eclipse(转)
  3. iOS学习笔记---oc语言第十天
  4. == 和equals比较
  5. poj 2955 括号匹配 区间dp
  6. SQL编写
  7. 使用ASP.NET web API创建REST服务(三)
  8. POJ 1426 Find The Multiple --- BFS || DFS
  9. URAL 1004 Sightseeing Trip(最小环)
  10. 后台向前台传递entity的list然后构筑combobox的方法(easyui)