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 using ...

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

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

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

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

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

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

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

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

  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. [TypeStyle] Add type safety to CSS using TypeStyle

    TypeStyle is the only current CSS in JS solution that is designed with TypeSafety and TypeScript dev ...

  2. heredoc(实现模板与代码的分离)

    heredoc(实现模板与代码的分离) 一.总结 heredoc实现模板与代码的分离,实现的是在后台编程语言中批量输出html代码,在这个批量输出的html代码中又可以嵌套编程语言变量.所以很方便. ...

  3. [CSS] Draw Simple Icons with CSS

    Using pseudo-elements like ::before and ::after we can draw some simple icons without having using i ...

  4. ios开发网络学八:NSURLSession相关代理方法

    #import "ViewController.h" @interface ViewController ()<NSURLSessionDataDelegate> /* ...

  5. Intent七在属性之一:ComponentName 分类: H1_ANDROID 2013-11-10 10:54 1184人阅读 评论(1) 收藏

    注:在<疯狂android讲义>中,此属性称为Component,官方文档中称为ComponentName. 1.The name of the component that should ...

  6. Facebook开源软件列表

    从 Facebook 的 GitHub 账户中可以看到,Facebook 已经开源的开源项目有近 300 个,领域涉及移动.前端.Web.后端.大数据.数据库.工具和硬件等.Facebook 开源项目 ...

  7. 将Sublime Text2 加入右键菜单

    在googleread里面看有人推荐sublime text2.说开发很方便.就下载一个试试.写html还真的挺爽. 于是按照vim加入鼠标右键的方法.果然可以.这里和大家分享 1. 运行中输入 re ...

  8. TortoiseGit拉取或推送项目提示 HTTP Basic: Access denied fatal: Authentication failed.

      TortoiseGit拉取或推送项目提示 HTTP Basic: Access denied fatal: Authentication failed. 大体意思是,HTTP基本认证失败,访问被拒 ...

  9. Windows Phone 8.1 应用间共享

    (1)LaunchUriAsync 将简单数据包含在 Uri 中,然后发送到目标应用: await Launcher.LaunchUriAsync(new Uri("target:messa ...

  10. Android bitmap绘制文字自动换行

    public Bitmap getNewBitMap(String text) { Bitmap newBitmap = Bitmap.createBitmap(,, Config.ARGB_4444 ...