设为首页 加入收藏

TOP

微信分享网页时自定义缩略图和简介(.net版本)(二)
2019-09-30 16:50:23 】 浏览:201
Tags:分享 网页 时自 定义 缩略 简介 .net 版本
}
", jsapi_ticket, noncestr, timestamp, url); string signature = GetSHA1(string1.ToString()); //返回相关信息 string[] rtn = new string[] { AppID, noncestr, timestamp, signature }; return rtn; }

 通过接口调用(公众平台接口调用仅支持80端口。)

public class WeixinController : ApiController
{
    /// <summary>
    /// 获取签名信息
    /// </summary>
    /// <param name="url"></param>
    /// <returns></returns>
    [HttpGet]
    [AllowAnonymous]
    public WeixinSignatureConfig GetSignature(string url)
    {
        //微信配置
        string[] weixin = Tencent.WeixinConfig.GetSignature(url);
        WeixinSignatureConfig weixinConfig = new WeixinSignatureConfig
        {
            appId = weixin[0],
            nonceStr = weixin[1],
            timestamp = weixin[2],
            signature = weixin[3]
        };
        return weixinConfig;
    }
}

 

相关方法:

提交网络请求 SubmitHttpWebRequest(string url, string para = "")

private static string SubmitHttpWebRequest(string url, string para = "")
{
    string retString = string.Empty;

    HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
    request.Method = "GET";
    request.ContentType = "application/json";
    request.Timeout = 10000;
    try
    {
        HttpWebResponse response = (HttpWebResponse)request.GetResponse();
        string encoding = response.ContentEncoding;
        if (encoding == null || encoding.Length < 1)
        {
            encoding = "UTF-8"; //默认编码  
        }
        using (StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding(encoding)))
        {
            retString = reader.ReadToEnd();

            if (para != "")
            {
                JObject jsonObj = (JObject)JsonConvert.DeserializeObject(retString);
                if (jsonObj[para] != null)
                {
                    retString = jsonObj[para].ToString();
                }
            }
        }
    }
    catch (WebException ex)
    {
        retString = null;
    }
    return retString;
}
View Code

 

生成随机字符串CreateRandCode(int codeLen = 16)

public static string CreateRandCode(int codeLen = 16)
{
    string codeSerial = "2,3,4,5,6,7,a,c,d,e,f,h,i,j,k,m,n,p,r,s,t,A,C,D,E,F,G,H,J,K,M,N,P,Q,R,S,U,V,W,X,Y,Z";
    if (codeLen == 0)
    {
        codeLen = 16;
    }
    string[] arr = codeSerial.Split(',');
    string code = "";
    int randValue = -1;
    Random rand = new Random(unchecked((int)DateTime.Now.Ticks));
    for (int i = 0; i < codeLen; i++)
    {
        randValue = rand.Next(0, arr.Length - 1);
        code += arr[randValue];
    }
    return code;
}
View Code

 

SHA1加密GetSHA1(string string1)

private static string GetSHA1(string string1)
{
    SHA1 sha;
    ASCIIEncoding enc;
    string hash = "";
    sha = new SHA1CryptoServiceProvider();
    enc = new ASCIIEncoding();
    byte[] dataToHash = enc.GetBytes(string1);
    byte[] dataHashed = sha.ComputeHash(dataToHash);
    hash = BitConverter.ToString(dataHashed).Replace("-", "");
    hash = hash.ToLower();
    return hash;
}
View Code

 

缓存设置CacheHelper.cs

using System;
using System.Collections;
using System.Web;
using System.Web.Caching;

namespace WeixinShare
{
    /// <summary>
    /// Caching 的摘要说明
    /// </summary>
    public class CacheHelper
    {
        /// <summary>
        /// 获取当前应用程序指定CacheKey的Cache值
        /// </summary>
        /// <param name="CacheKey">
        /// <returns></returns>y
        public static object GetCa
首页 上一页 1 2 3 4 下一页 尾页 2/4/4
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇C# QRBarCode 下一篇Winform组合ComboBox和TreeView实..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目