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# ,