当前位置:编程学习 > C#/ASP.NET >>

C# HttpHelper 1.0正式版发布无视编码,证书和Cookie

欢迎大家使用,写了这么久终于可以发布一个版本了。大家快下载试试吧。

功能说明:

1.实现常规的POST和GET请求。

2.实现了可设置编码与无视编码功能,可以自动解析编码。

3.实现了Cookie携带功能。

4.实现了代理请求功能

5.更多的例子请大家到我博客查看

 发一部分代码给大家看吧

[csharp]
/// <summary>  
/// 类说明:HttpHelps类,用来实现Http访问,Post或者Get方式的,直接访问,带Cookie的,带证书的等方式,可以设置代理  
/// 编码日期:2011-09-20  
/// 编 码 人:苏飞  
/// 联系方式:361983679  Blogs:http://www.cckan.net  
/// 修改日期:2012-09-20  
/// </summary>  
 
using System; 
using System.Collections.Generic; 
using System.Text; 
using System.Net; 
using System.IO; www.zzzyk.com
using System.Text.RegularExpressions; 
using System.IO.Compression; 
 
namespace ImportZhiLian.FunctionServices 

    public class httphelper 
    { 
        #region 预定义方法或者变更  
 
        //默认的编码  
        public Encoding encoding = Encoding.Default; 
        //HttpWebRequest对象用来发起请求  
        public HttpWebRequest request = null; 
        //获取影响流的数据对象  
        private HttpWebResponse response = null; 
        //返回的Cookie  
        public string cookie = ""; 
        //是否设置为全文小写  
        public Boolean isToLower = true; 
        //读取流的对象  
        private StreamReader reader = null; 
        //需要返回的数据对象  
        private string returnData = "String Error"; 
 
        /// <summary>  
        /// 根据相传入的数据,得到相应页面数据  
        /// </summary>  
        /// <param name="strPostdata">传入的数据Post方式,get方式传NUll或者空字符串都可以</param>  
        /// <returns>string类型的响应数据</returns>  
        private string GetHttpRequestData(string strPostdata) 
        { 
            try 
            { 
                //支持跳转页面,查询结果将是跳转后的页面  
                request.AllowAutoRedirect = true; 
 
                //验证在得到结果时是否有传入数据  
                if (!string.IsNullOrEmpty(strPostdata) && request.Method.Trim().ToLower().Contains("post")) 
                { 
                    byte[] buffer = encoding.GetBytes(strPostdata); 
                    request.ContentLength = buffer.Length; 
                    request.GetRequestStream().Write(buffer, 0, buffer.Length); 
                } 
 
                ////最大连接数  
                //request.ServicePoint.ConnectionLimit = 1024; 
 
                #region 得到请求的response  
 
                using (response = (HttpWebResponse)request.GetResponse()) 
                { 
                    try 
                    { 
                        cookie = response.Headers["set-cookie"].ToString(); 
                    } 
                    catch (Exception) 
                    { 
 
                    } 
                    //从这里开始我们要无视编码了  
                    if (encoding == null) 
                    { 
                        MemoryStream _stream = new MemoryStream(); 
                        if (response.ContentEncoding != null && response.ContentEncoding.Equals("gzip", StringComparison.InvariantCultureIgnoreCase)) 
                        { 
                            //开始读取流并设置编码方式  
                          

补充:软件开发 , C# ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,