• 大小: 30KB
    文件类型: .cs
    金币: 1
    下载: 0 次
    发布日期: 2021-06-08
  • 语言: C#
  • 标签: C#  winhttp  http  

资源简介

C# winhttp 开发封装类 简化get post 请求 带cookie 可自定头文件

资源截图

代码片段和文件信息

/// 
/// 类说明:HttpHelper类,用来实现Http访问,Post或者Get方式的,直接访问,带Cookie的,带证书的等方式,可以设置代理
/// 重要提示:请不要自行修改本类,如果因为你自己修改后将无法升级到新版本。如果确实有什么问题请到官方网站提建议,
/// 我们一定会及时修改
/// 编码日期:2011-09-20
/// 编 码 人:苏飞
/// 联系方式:361983679  
/// 官方网址:http://www.sufeinet.com/thread-3-1-1.html
/// 修改日期:2017-09-30
/// 版 本 号:1.9
/// 

using System;
using System.Collections.Generic;
using System.Text;
using System.Net;
using System.IO;
using System.Text.Regularexpressions;
using System.IO.Compression;
using System.Security.Cryptography.X509Certificates;
using System.Net.Security;
using System.Linq;
using System.Net.Cache;

namespace SufeiUtil
{
    /// 
    /// Http连接操作帮助类
    /// 

    public class HttpHelper
    {
        #region 预定义方变量
        //默认的编码
        private Encoding encoding = Encoding.Default;
        //Post数据编码
        private Encoding postencoding = Encoding.Default;
        //HttpWebRequest对象用来发起请求
        private HttpWebRequest request = null;
        //获取影响流的数据对象
        private HttpWebResponse response = null;
        //设置本地的出口ip和端口
        private IPEndPoint _IPEndPoint = null;
        #endregion

        #region Public

        /// 
        /// 根据相传入的数据,得到相应页面数据
        /// 

        /// 参数类对象
        /// 返回HttpResult类型
        public HttpResult GetHtml(HttpItem item)
        {
            //返回参数
            HttpResult result = new HttpResult();
            try
            {
                //准备参数
                SetRequest(item);
            }
            catch (Exception ex)
            {
                //配置参数时出错
                return new HttpResult() { Cookie = string.Empty Header = null Html = ex.Message StatusDescription = “配置参数时出错:“ + ex.Message };
            }
            try
            {
                //请求数据
                using (response = (HttpWebResponse)request.GetResponse())
                {
                    GetData(item result);
                }
            }
            catch (WebException ex)
            {
                if (ex.Response != null)
                {
                    using (response = (HttpWebResponse)ex.Response)
                    {
                        GetData(item result);
                    }
                }
                else
                {
                    result.Html = ex.Message;
                }
            }
            catch (Exception ex)
            {
                result.Html = ex.Message;
            }
            if (item.IsToLower) result.Html = result.Html.ToLower();
            //重置request,response为空
            if (item.IsReset)
            {
                request = null;
                response = null;
            }
            return result;
        }
        #endregion

        #region GetData

        /// 
        /// 获取数据的并解析的方法
        /// 

        

评论

共有 条评论