public IActionResult getwxconfig(string url) { wx_ticket ticket = GetTicket(); string nonce = CreateNonceStr(); string timestamp = GetTimeStamp(); //string wxconfigstr = "jsapi_ticket=" + ticket.ticket + "&noncestr=" + nonce + "×tamp=" + timestamp + "&url=" + url + ""; var string1Builder = new StringBuilder(); //注意这里参数名必须全部小写,且必须有序 string1Builder.Append("jsapi_ticket=").Append(ticket.ticket).Append("&") .Append("noncestr=").Append(nonce).Append("&") .Append("timestamp=").Append(timestamp).Append("&") .Append("url=").Append(url.IndexOf("#") >= 0 ? url.Substring(0, url.IndexOf("#")) : url); //string[] arrtmp = {ticket.ticket,nonce,timestamp,url }; //Array.Sort(arrtmp);//字典排序 //string tmpstr = string.Join("", arrtmp); //var buffer = Encoding.UTF8.GetBytes(string1Builder); //var data = SHA1.Create().ComputeHash(buffer);//sha1加密 string tickets = Sha1(string1Builder.ToString(), Encoding.UTF8); wx_model wx_Model = new wx_model { appId = "wxa76dfc44f4141c4c", timestamp = GetTimeStamp(), nonce = CreateNonceStr(), signature = tickets, }; return(Json(wx_Model)); }
/// <summary> /// 获取jsapi_ticket /// </summary> /// <returns></returns> //public string wx_jsapi_ticket() //{ // Access_token access_tokens = GetAccess_token(); // string url = "https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token={0}&type=wx_card"+ access_tokens.access_token; // HttpClient httpClient = new HttpClient(); // var ticket=httpClient.GetAsync(url); // return ticket.ToString(); //} private static wx_ticket GetTicket() { Access_token token = GetAccess_token(); //string jsapi_ticket = "";//唯一凭证 string jsurl = "https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token=" + token.access_token + "&type=jsapi"; HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create(jsurl); //用GET形式请求指定的地址 req.Method = "GET"; wx_ticket wx_ = new wx_ticket(); using (WebResponse wr = req.GetResponse()) { //HttpWebResponse myResponse = (HttpWebResponse)req.GetResponse(); StreamReader reader = new StreamReader(wr.GetResponseStream(), Encoding.UTF8); string content = reader.ReadToEnd(); //jsapi_ticket = content; reader.Close(); reader.Dispose(); wx_ticket wx_Ticket = new wx_ticket(); wx_Ticket = JsonConvert.DeserializeObject <wx_ticket>(content); wx_.ticket = wx_Ticket.ticket; } //WriteLogs("piaoju", "ticket", jsapi_ticket); return(wx_); }