HttpHelper请求封装基类,支持get请求和POS请求,方便微信开发接口交互,为后面接口交互做准备。

1、HttpHelper帮助基类

[csharp] view
plain
copy

  1. using System;
  2. using System.Collections.Generic;
  3. using System.IO;
  4. using System.Linq;
  5. using System.Text;
  6. using System.Net;
  7. using System.Net.Security;
  8. namespace Weixin.Utils
  9. {
  10. public class HttpHelper
  11. {
  12. public static string Post(string url, string paramData)
  13. {
  14. return Post(url, paramData, Encoding.UTF8);
  15. }
  16. public static string Post(string url, string paramData, Encoding encoding)
  17. {
  18. string result;
  19. if (url.ToLower().IndexOf("https", System.StringComparison.Ordinal) > -1)
  20. {
  21. ServicePointManager.ServerCertificateValidationCallback =
  22. new RemoteCertificateValidationCallback((sender, certificate, chain, errors) => { return true; });
  23. }
  24. try
  25. {
  26. var wc = new WebClient();
  27. if (string.IsNullOrEmpty(wc.Headers["Content-Type"]))
  28. wc.Headers.Add("Content-Type", "application/x-www-form-urlencoded");
  29. wc.Encoding = encoding;
  30. result = wc.UploadString(url, "POST", paramData);
  31. }
  32. catch (Exception e)
  33. {
  34. throw;
  35. }
  36. return result;
  37. }
  38. public static string Get(string url)
  39. {
  40. return Get(url, Encoding.UTF8);
  41. }
  42. public static string Get(string url, Encoding encoding)
  43. {
  44. try
  45. {
  46. var wc = new WebClient { Encoding = encoding };
  47. var readStream = wc.OpenRead(url);
  48. using (var sr = new StreamReader(readStream, encoding))
  49. {
  50. var result = sr.ReadToEnd();
  51. return result;
  52. }
  53. }
  54. catch (Exception e)
  55. {
  56. throw e;
  57. }
  58. }
  59. }
  60. }

2、帮助类使用

[csharp] view
plain
copy

  1. var data = "{\"touser\":\"Rich\" },";
  2. data += "{\"msgtype\": \"text\"},";
  3. data += "{\"text\": [{\"content\": \"test\"}]}";
  4. var json = HttpHelper.Post("https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=" + accessToken, data);
[csharp] view
plain
copy

  1. var result = JsonHelper.Deserialize(json);

本人新浪微博:http://weibo.com/i/1741159542

微信公众号开发系列-Http请求封装基类的更多相关文章

  1. 微信公众号开发系列-Http请求包基类

    HttpHelper请求包基类,支持get请求和POS要求.以促进微通道交互界面的开发,为了准备的人机交互界面,背部. 1.HttpHelper帮助基类 [csharp] view plaincopy ...

  2. C#微信公众号开发系列教程三(消息体签名及加解密)

    http://www.cnblogs.com/zskbll/p/4139039.html C#微信公众号开发系列教程一(调试环境部署) C#微信公众号开发系列教程一(调试环境部署续:vs远程调试) C ...

  3. C#微信公众号开发系列教程二(新手接入指南)

    http://www.cnblogs.com/zskbll/p/4093954.html 此系列前面已经更新了两篇博文了,都是微信开发的前期准备工作,现在切入正题,本篇讲解新手接入的步骤与方法,大神可 ...

  4. C#微信公众号开发系列教程六(被动回复与上传下载多媒体文件)

    微信公众号开发系列教程一(调试环境部署) 微信公众号开发系列教程一(调试环境部署续:vs远程调试) C#微信公众号开发系列教程二(新手接入指南) C#微信公众号开发系列教程三(消息体签名及加解密) C ...

  5. C#微信公众号开发系列教程四(接收普通消息)

    微信公众号开发系列教程一(调试环境部署) 微信公众号开发系列教程一(调试环境部署续:vs远程调试) C#微信公众号开发系列教程二(新手接入指南) C#微信公众号开发系列教程三(消息体签名及加解密) C ...

  6. C#微信公众号开发系列教程五(接收事件推送与消息排重)

    微信公众号开发系列教程一(调试环境部署) 微信公众号开发系列教程一(调试环境部署续:vs远程调试) C#微信公众号开发系列教程二(新手接入指南) C#微信公众号开发系列教程三(消息体签名及加解密) C ...

  7. 微信公众号开发系列教程一(调试环境部署续:vs远程调试)

    http://www.cnblogs.com/zskbll/p/4080328.html 目录 C#微信公众号开发系列教程一(调试环境部署) C#微信公众号开发系列教程一(调试环境部署续:vs远程调试 ...

  8. 微信公众号开发系列-13、基于RDIFramework.NET框架整合微信开发应用效果展示

    1.前言 通过前面一系列文章的学习,我们对微信公众号开发已经有了一个比较深入和全面的了解. 微信公众号开发为企业解决那些问题呢? 我们经常看到微信公众号定制开发.微信公众平台定制开发,都不知道这些能给 ...

  9. 微信公众号开发系列-获取微信OpenID

    在微信开发时候在做消息接口交互的时候须要使用带微信加密ID(OpenId),下面讲讲述2中类型方式获取微信OpenID.接收事件推送方式和网页授权获取用户基本信息方式获取. 1.通过接收被动消息方式获 ...

随机推荐

  1. PHP实现html字符实体转汉字

    就一个函数搞定了: mb_convert_encoding("人人", "UTF-8", "HTML-ENTITIES"); 这个函数原本是 ...

  2. hdu 5730 Shell Necklace [分治fft | 多项式求逆]

    hdu 5730 Shell Necklace 题意:求递推式\(f_n = \sum_{i=1}^n a_i f_{n-i}\),模313 多么优秀的模板题 可以用分治fft,也可以多项式求逆 分治 ...

  3. BZOJ CF388D. Fox and Perfect Sets [线性基 数位DP]

    CF388D. Fox and Perfect Sets 题意:求最大元素\(le n\)的线性空间的个数 给神题跪了 orz 容易想到 每个线性基对应唯一的线性空间,我们可以统计满足条件的对应空间不 ...

  4. BZOJ 1801: [Ahoi2009]chess 中国象棋 [DP 组合计数]

    http://www.lydsy.com/JudgeOnline/problem.php?id=1801 在N行M列的棋盘上,放若干个炮可以是0个,使得没有任何一个炮可以攻击另一个炮. 请问有多少种放 ...

  5. OpenSSL 中DES-ECB 加密使用注意事项

    参考:http://blog.csdn.net/cparent/article/details/40652051DES加密算法作为一个过时的东西,使用的项目已经很少了.最近在调试与服务器端进行DES加 ...

  6. Javascript Sting(字符串)对象

    一, 如何计算字符串的长度? 可以通过.length属性来计算 <script type="text/javascript"> var txt="Hello ...

  7. 搭建简易的c语言与python语言CGI和Apache服务器的开发环境

    搭建简易的c语言CGI和Apache服务器的开发环境 http://www.cnblogs.com/tt-0411/archive/2011/11/21/2257203.html python配置ap ...

  8. H-ui.admin v2.3后台模版!

    一个很好的 后台开发模板 演示地址 http://demo.h-ui.net/H-ui.admin/3.1/index.html 下载地址 http://downs.h-ui.net/h-ui/H-u ...

  9. Yii2自带的验证码背景颜色怎么调?

    看了下面的这张图片你就知道啦!

  10. 在windows上安装nginx

    在windows上安装nginx   最近自己也尝试了一下在windows上安装nginx,其实非常的简单,这里算是备忘一下.   首先需要到nginx的官网上下载最新版的nginx:http://n ...