微信公众号开发系列-Http请求封装基类
HttpHelper请求封装基类,支持get请求和POS请求,方便微信开发接口交互,为后面接口交互做准备。
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);
微信公众号开发系列-Http请求封装基类的更多相关文章
- 微信公众号开发系列-Http请求包基类
HttpHelper请求包基类,支持get请求和POS要求.以促进微通道交互界面的开发,为了准备的人机交互界面,背部. 1.HttpHelper帮助基类 [csharp] view plaincopy ...
- C#微信公众号开发系列教程三(消息体签名及加解密)
http://www.cnblogs.com/zskbll/p/4139039.html C#微信公众号开发系列教程一(调试环境部署) C#微信公众号开发系列教程一(调试环境部署续:vs远程调试) C ...
- C#微信公众号开发系列教程二(新手接入指南)
http://www.cnblogs.com/zskbll/p/4093954.html 此系列前面已经更新了两篇博文了,都是微信开发的前期准备工作,现在切入正题,本篇讲解新手接入的步骤与方法,大神可 ...
- C#微信公众号开发系列教程六(被动回复与上传下载多媒体文件)
微信公众号开发系列教程一(调试环境部署) 微信公众号开发系列教程一(调试环境部署续:vs远程调试) C#微信公众号开发系列教程二(新手接入指南) C#微信公众号开发系列教程三(消息体签名及加解密) C ...
- C#微信公众号开发系列教程四(接收普通消息)
微信公众号开发系列教程一(调试环境部署) 微信公众号开发系列教程一(调试环境部署续:vs远程调试) C#微信公众号开发系列教程二(新手接入指南) C#微信公众号开发系列教程三(消息体签名及加解密) C ...
- C#微信公众号开发系列教程五(接收事件推送与消息排重)
微信公众号开发系列教程一(调试环境部署) 微信公众号开发系列教程一(调试环境部署续:vs远程调试) C#微信公众号开发系列教程二(新手接入指南) C#微信公众号开发系列教程三(消息体签名及加解密) C ...
- 微信公众号开发系列教程一(调试环境部署续:vs远程调试)
http://www.cnblogs.com/zskbll/p/4080328.html 目录 C#微信公众号开发系列教程一(调试环境部署) C#微信公众号开发系列教程一(调试环境部署续:vs远程调试 ...
- 微信公众号开发系列-13、基于RDIFramework.NET框架整合微信开发应用效果展示
1.前言 通过前面一系列文章的学习,我们对微信公众号开发已经有了一个比较深入和全面的了解. 微信公众号开发为企业解决那些问题呢? 我们经常看到微信公众号定制开发.微信公众平台定制开发,都不知道这些能给 ...
- 微信公众号开发系列-获取微信OpenID
在微信开发时候在做消息接口交互的时候须要使用带微信加密ID(OpenId),下面讲讲述2中类型方式获取微信OpenID.接收事件推送方式和网页授权获取用户基本信息方式获取. 1.通过接收被动消息方式获 ...
随机推荐
- Java对正则表达式的支持(二)
正则表达式的主要用途: a.在目标字符串中找出匹配正则表达式的部分 b.校验目标字符串是否符合正则表达式,例如校验邮箱地址 c.在目标字符串中替换符合正则表达式的部分为其他的字符串 Scanner类是 ...
- Maven项目中的配置文件找不到以及打包问题
我们在使用maven开发项目的时候,创建model的时候会自动创建一个resource目录:这个目录是用来放配置文件的,我们把配置文件放在这个目录中项目打包才会将配置文件打包进去. 有的时候我们会把配 ...
- JavaWeb项目架构之NFS文件服务器
NFS简介 NFS(Network File System)即网络文件系统. 主要功能:通过网络(局域网)让不同的主机系统之间可以共享文件或目录. 主要用途:NFS网络文件系统一般被用来存储共享视频, ...
- CentOS 7 搭建基于携程Apollo(阿波罗)配置中心单机模式
Apollo(阿波罗)是携程框架部门研发的配置管理平台,能够集中化管理应用不同环境.不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限.流程治理等特性.服务端基于Spring Boot ...
- NSData 与 NSString 的转化
1 NSString * str = @"hello, world!"; 2 NSData * data = [str dataUsingEncoding:NSUTF8String ...
- 使用单元素的枚举类型实现Singleton
从java1.5版本开始,实现singleton出现了第三种方式: public enum SingleTon { INSTANCE; public void speak() { System.out ...
- ob_start、ob_get_contents使用
要善于ob_start.ob_get_contents使用, 比如需要ajax获取 请求页面的模板信息 这个时候用到就很便捷 ob_start(); $this->assign('config' ...
- 获取目录-Winform
// 获取程序的基目录. System.AppDomain.CurrentDomain.BaseDirectory // 获取模块的完整路径. System.Diagnostics.Process.G ...
- C语言_结构体的4种定义初始化方式及案例
结构体是一种构造数据类型 (构造数据类型:数组类型.结构体类型(struct).共用体类型(union)).用途:把不同类型的数据组合成一个整体,通俗讲就像是打包封装,把一些有共同特征(比如同属于某一 ...
- Linux CentOs集群LVS+Keepalived负载均衡的实现
准备工作 环境:Win10下Centos6.4虚拟机. 负载均衡:两台(一主一备) LVS + Keepalived. HTTP服务器:3台. 给每台服务器配置IP 1.VIP(virtual ip ...