Http请求封装基类HttpHelper.cs

HttpHelper请求封装基类,支持get请求和POS请求http接口交互,为后面接口交互做准备。

1、HttpHelper帮助基类

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Net;
using System.Net.Security;

namespace Weixin.Utils
{
    public class HttpHelper
    {
        public static string Post(string url, string paramData)
        {
            return Post(url, paramData, Encoding.UTF8);
        }

        public static string Post(string url, string paramData, Encoding encoding)
        {
            string result;

            if (url.ToLower().IndexOf("https", System.StringComparison.Ordinal) > -1)
            {
                ServicePointManager.ServerCertificateValidationCallback =
                               new RemoteCertificateValidationCallback((sender, certificate, chain, errors) => { return true; });
            }

            try
            {
                var wc = new WebClient();
                if (string.IsNullOrEmpty(wc.Headers["Content-Type"]))
                    wc.Headers.Add("Content-Type", "application/x-www-form-urlencoded");
                wc.Encoding = encoding;

                result = wc.UploadString(url, "POST", paramData);
            }
            catch (Exception e)
            {
                throw;
            }

            return result;
        }

        public static string Get(string url)
        {
            return Get(url, Encoding.UTF8);
        }

        public static string Get(string url, Encoding encoding)
        {
            try
            {
                var wc = new WebClient { Encoding = encoding };
                var readStream = wc.OpenRead(url);
                using (var sr = new StreamReader(readStream, encoding))
                {
                    var result = sr.ReadToEnd();
                    return result;
                }
            }
            catch (Exception e)
            {
                throw e;
            }
        }
    }
}

2、帮助类使用

var data = "{\"touser\":\"Rich\" },";
        data += "{\"msgtype\": \"text\"},";
        data += "{\"text\": [{\"content\": \"test\"}]}";
        var json = HttpHelper.Post("https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=" + accessToken, data);
var result = JsonHelper.Deserialize(json);

 

时间: 2024-07-29 12:32:24

Http请求封装基类HttpHelper.cs的相关文章

微信公众号开发系列-Http请求封装基类

HttpHelper请求封装基类,支持get请求和POS请求,方便微信开发接口交互,为后面接口交互做准备. 1.HttpHelper帮助基类 [csharp] view plaincopy using System;   using System.Collections.Generic;   using System.IO;   using System.Linq;   using System.Text;   using System.Net;   using System.Net.Secur

艾伟_转载:Socket开发探秘--基类及公共类的定义

Socket开发是属于通信底层的开发,.NET也提供了非常丰富的类来实现Socket的开发工作,本篇不是介绍这些基础类的操作,而是从一个大的架构方面阐述Socket的快速开发工作,本篇以TCP模式进行程序的开发介绍,以期达到抛砖引玉的目的. 要掌握或者了解Socket开发,必须了解下面所述的场景及知识. 1.TCP客户端,连接服务器端,进行数据通信 2.TCP服务器端,负责侦听客户端连接 3.连接客户端的管理,如登陆,注销等,使用独立线程处理 4.数据接收管理,负责数据的接受,并处理队列的分发,

基于MVC4+EasyUI的Web开发框架形成之旅--基类控制器CRUD的操作

在上一篇随笔中,我对Web开发框架的总体界面进行了介绍,其中并提到了我的<Web开发框架>的控制器的设计关系,Web开发框架沿用了我的<Winform开发框架>的很多架构设计思路和特点,对Controller进行了封装.使得控制器能够获得很好的继承关系,并能以更少的代码,更高效的开发效率,实现Web项目的开发工作,整个控制器的设计思路如下所示. 从上图的设计里面可以看到,我把主要能通过抽象封装的CRUD方法都放到了BusinessController<B, T>类里面,

Filter组件开发中的SDK基类分析

DirectShow SDK提供了一套开发Filter的基类源代码.基于这些基类开发Filter将大大简化开发过程. 1.CBaseObject 大部分SDK类都从CBaseObject类(参见combase.h)中继承而来的. [cpp] view plaincopy class CBaseObject   {      private:          // Disable the copy constructor and assignment by default so you will

三 基类 调试类 错误类

错误 <?php//// +----------------------------------------------------------------------+// | WHXBB          基类                                                  |// +----------------------------------------------------------------------+// | Copyright (c

php基类 调试类 错误类

错误 <?php // // +----------------------------------------------------------------------+ // | WHXBB          基类                                                  | // +----------------------------------------------------------------------+ // | Copyrig

基于SQLServer的数据层基类C#源码

server|sqlserver|数据 /***************************************************** * 文 件 名:DBObject.cs * 功能描述:定义数据层基类. * 创 建 人:夏春涛 xchuntao@163.com qq:23106676 * 创建时间:2004-08-11 11:05 *****************************************************/ using System;using

基于ODP的数据层基类C#源码

数据 #region usingusing System;using System.Configuration;using System.Data;using Oracle.DataAccess.Client;#endregion namespace WIS.Base.Data{ /// <summary> /// <table style="font-size:12px"> /// <tr><td><b>文 件 名</

ASP.NET Atlas简单控件介绍之两个基类

asp.net|控件 ASP.NET Atlas中引入了客户端控件的概念,用面向对象思想将客户端JavaScript将要操作的DOM元素封装起来,带来了更清晰的代码模型以及更好的可复用性(不足之处是效率有所降低).Atlas的客户端控件是连接JavaScript与DOM元素的桥梁,我们应该尽可能的使用客户端控件与DOM元素打交道,也就是以Atlas的方法来编写我们的程序.同时,Atlas对JavaScript面向对象方面的强大扩展(请参考:ASP.NET Atlas对JavaScript的扩展)