微信公众号开发系列-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 using ...
- C#微信公众号开发系列教程五(接收事件推送与消息排重)
微信公众号开发系列教程一(调试环境部署) 微信公众号开发系列教程一(调试环境部署续:vs远程调试) C#微信公众号开发系列教程二(新手接入指南) C#微信公众号开发系列教程三(消息体签名及加解密) C ...
- C#微信公众号开发系列教程四(接收普通消息)
微信公众号开发系列教程一(调试环境部署) 微信公众号开发系列教程一(调试环境部署续:vs远程调试) C#微信公众号开发系列教程二(新手接入指南) C#微信公众号开发系列教程三(消息体签名及加解密) C ...
- 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 ...
- 微信公众号开发系列教程一(调试环境部署续:vs远程调试)
http://www.cnblogs.com/zskbll/p/4080328.html 目录 C#微信公众号开发系列教程一(调试环境部署) C#微信公众号开发系列教程一(调试环境部署续:vs远程调试 ...
- 微信公众号开发系列-13、基于RDIFramework.NET框架整合微信开发应用效果展示
1.前言 通过前面一系列文章的学习,我们对微信公众号开发已经有了一个比较深入和全面的了解. 微信公众号开发为企业解决那些问题呢? 我们经常看到微信公众号定制开发.微信公众平台定制开发,都不知道这些能给 ...
- 微信公众号开发系列-获取微信OpenID
在微信开发时候在做消息接口交互的时候须要使用带微信加密ID(OpenId),下面讲讲述2中类型方式获取微信OpenID.接收事件推送方式和网页授权获取用户基本信息方式获取. 1.通过接收被动消息方式获 ...
随机推荐
- js进阶解决浏览器缓存不能自动更新的问题(在ajax的url上带上一个参数,可以是日期,或者是随机数)(随机数Math.random)(取得日期的毫秒数:new Date().getTime();)
js进阶解决浏览器缓存不能自动更新的问题(在ajax的url上带上一个参数,可以是日期,或者是随机数)(随机数Math.random)(取得日期的毫秒数:new Date().getTime();) ...
- 【50.00%】【codeforces 602C】The Two Routes
time limit per test2 seconds memory limit per test256 megabytes inputstandard input outputstandard o ...
- SpringBoot学习:获取yml和properties配置文件的内容(转)
项目下载地址:http://download.csdn.net/detail/aqsunkai/9805821 (一)yml配置文件: pom.xml加入依赖: <!-- 支持 @Configu ...
- PatentTips - High-performance AHCI Interface
BACKGROUND OF THE INVENTION Various storage protocols for communicating with storage devices are kno ...
- jquery-5 jQuery筛选选择器
jquery-5 jQuery筛选选择器 一.总结 一句话总结:选择器加动态添加方法可以不用想方法名,这个简单方便. 1.筛选选择器有哪三种? 过滤 查找 串联 1.过滤 eq();first(); ...
- Android 升级到Android Studio2.2 后打不开以前版本的项目
1.找到 build.gradle 用记事本打开,修改如下: // Top-level build file where you can add configuration options commo ...
- CentOS-7-x86_64-DVD-1511.iso
http://vault.centos.org/7.2.1511/isos/x86_64/CentOS-7-x86_64-DVD-1511.iso
- React Native 四:图片
一.展示图片资源 1.在ReactNative中.图片使用Image组件进行展示,以下我们就以静态.混合和网络资源等多种方式演示图片展示. 2.将图片放在代码目录img处:
- iOS 下APNS推送处理函数具体解释
相比起Android,iOS在推送方面无疑惯例得更好.APNS(Apple Push Notification Service)是苹果公司提供的消息推送服务.其原理就是.第三方应用将要推送给用户的信息 ...
- Ubuntu,右键->在终端中打开(apt-install,或者手动增加右键菜单)
方法一: sudo apt-get install nautilus-open-terminal 然后重启 方法二: Ubuntu中,默认右键菜单中没有“在终端中打开”.要想添加此菜单,可以在主目录中 ...
