微信公众号开发系列-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.通过接收被动消息方式获 ...
随机推荐
- BZOJ 3884: 上帝与集合的正确用法 [欧拉降幂]
PoPoQQQ大爷太神了 只要用欧拉定理递归下去就好了.... 然而还是有些细节没考虑好: $(P,2) \neq 1$时分解$P=2^k*q$的形式,然后变成$2^k(2^{(2^{2^{...}} ...
- SPOJ 1811 LCS [后缀自动机]
题意: 求两个串的最大连续子串 一个串建SAM,另一个串在上面跑 注意如果走了Suffix Link,sum需要更新为t[u].val+1 Suffix Link有点像失配吧,当前状态s走不了了就到S ...
- POI导出多张图片到Excel
package com.sun.office.excel; import java.awt.image.BufferedImage; import java.io.ByteArrayOutputStr ...
- Nginx的try_files指令和命名location使用实例
Nginx的配置语法灵活,可控制度非常高.在0.7以后的版本中加入了一个try_files指令,配合命名location,可以部分替代原本常用的rewrite配置方式,提高解析效率. 下面是一个使用实 ...
- 在Windows下为PHP5.5安装redis扩展
使用phpinfo()函数查看PHP的版本信息,这会决定扩展文件版本 根据PHP版本号,编译器版本号和CPU架构, 选择php_redis-2.2.5-5.5-ts-vc11-x86.zip和ph ...
- iOS字体名字
上面我们提到我们需要设置字体集,在IOS系统中我们用到的字体包含一下几种 : Font Family: American Typewriter( AmericanTypewriter,American ...
- Python个人总结_02
个人学习总结: python 第二课 解释型和编译型语言 计算机是不能够识别高级语言的,当我们运行一个高级语言的时候,需要将高级语言 翻译成计算机能够读懂的机器语言.这个过程分为两类,一个是编译,一个 ...
- 【学习笔记】Hibernate 注解 (Y2-1-9)
Hibernate注解 1.什么是注解在类上或者方法上打上其他类型的类型元数据 @标志 使用过的注解: @override 方法重写 @Test Junit 单元测试 @Before 单元测试 @A ...
- mac中配置jdk环境
- 在Angular中利用trackBy来提升性能
在Angular的模板中遍历一个集合(collection)的时候你会这样写: <ul> <li *ngFor="let item of collection"& ...
