资源简介
在做小程序领券开发时,遇到了很多坑,微信的文档你们懂的,有点反人类。其中相信做小程序卡券遇到最多的应该是“签名错误”。完全按照文档来还是签名错误!生成的签名与签名校验工具一致还是签名错误。。。各种各样的坑搞到焦头烂额,所以我弄好后,写了一个可正常执行的demo,你们可以对照着看,看自己哪里写错了。(包含了小程序代码,以及c#的后台代码。代码50多行,不多)
代码片段和文件信息
using System;
using System.Collections.Generic;
using System.IO;
using System.Net;
using System.Net.Security;
using System.Security.Cryptography.X509Certificates;
using System.Text;
using System.Web;
namespace CySoft.Utility
{
public sealed class WebUtils
{
private int _timeout = 150000;
private string _charset = “utf-8“;
private string _format = “hash“;
public WebUtils()
{
}
public WebUtils(string charset int timeout)
{
this._charset = charset;
this._timeout = timeout;
}
///
/// 执行HTTP GET请求。
///
/// 请求地址
/// 请求参数
/// 编码字符集
/// HTTP响应
public string DoGet(string url IDictionary parameters)
{
if (parameters != null && parameters.Count > 0)
{
url = url.Contains(“?“) ? string.Format(“{0}&{1}“ url BuildGetQuery(parameters)) :
string.Format(“{0}?{1}“ url BuildGetQuery(parameters));
}
HttpWebRequest req = GetWebRequest(url “GET“);
req.ContentType = “application/x-www-form-urlencoded;charset=utf-8“;
HttpWebResponse rsp = (HttpWebResponse)req.GetResponse();
//Encoding encoding = Encoding.GetEncoding(rsp.CharacterSet);
//return GetResponseAsString(rsp encoding);
string ret = GetRequestStream(rsp);
return ret;
}
///
/// 组装普通文本请求参数。(不排序)
///
/// Key-Value形式请求参数字典
/// URL编码后的请求数据
public static string BuildGetQuery(IDictionary parameters)
{
IEnumerator> sortedParams = parameters.GetEnumerator();
StringBuilder builder = new StringBuilder();
while (sortedParams.MoveNext())
{
string key = sortedParams.Current.Key;
string value = sortedParams.Current.Value;
// 忽略参数名或参数值为空的参数
if (!string.IsNullOrWhiteSpace(key) && !string.IsNullOrWhiteSpace(value))
builder.AppendFormat(“{0}={1}&“ key HttpUtility.UrlEncode(value Encoding.GetEncoding(“utf-8“)));
}
string content = builder.Remove(builder.Length - 1 1).ToString();
return content;
}
public string GetRequestStream(HttpWebResponse rsp)
{
StringBuilder builder = new StringBuilder();
Stream stream = null;
try
{
stream = rsp.GetResponseStream();
int count = 0;
byte[] buffer = new byte[102
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 3237 2019-01-28 15:50 NET(C#)小程序卡券demo.txt
文件 25390 2019-01-28 15:58 WebUtils.cs
----------- --------- ---------- ----- ----
28627 2
相关资源
- 简易停车场管理小程序
- Himall3.3网盘附app和小程序及详细教程
- 年会抽奖小程序c#源代码 亲测可用
- C#开发的聊天小程序
- 使用C#和MySql数据库实现的小程序---适
- winform抽奖小程序
- 几个不错的C#.NET做的WINDOWS窗体应用小
- C#窗体三种方法生成二维码并打印的小
- 随机选题生成word试卷小程序
- c#文件管理21个
- SignalR实现小程序即时聊天 C# asp.net
- C#窗体小程序
- C#简单秒表程序设计
- 好看好用的IP地址自动设置小程序方便
- c#联合halcon编程,鼠标获取图像灰度值
- C#订单管理系统
- 各种版本UDP和TCP小程序
- 教室及会议室预约系统C#小程序,课堂
- C#50个经典小程序(新手必备)
- c# 微信接口,包括小程序,企业微信
- wpf聊天小程序
- 淘宝客小程序+后端.zip
- C#闹钟&&时钟小程序源代码
- 微信小程序小说网站带后台
- ASP.NET通讯录小程序
- WinForm_局域网问卷调查小程序代码
- 基于Socket的Winform聊天小程序
- 小程序获取openid(亲测通过)
- Asp.net mvc blog 小程序源码
- 用C#在NX上写的一个小程序:遍历par
评论
共有 条评论