public async void SendMail(int id, string mobile) { try { int nonce = new Random().Next(9999); string timestamp = ((DateTime.Now.Ticks - new DateTime(1970, 1, 1, 0, 0, 0, 0).Ticks) / 10000).ToString(); string signature = SHA1_Encrypt(ConfCenter.MailAppSecret + nonce + timestamp); string uri = "http://api.sms.ronghub.com/sendCode.json"; HttpClient client = new HttpClient(); client.DefaultRequestHeaders.Add("App-Key", ConfCenter.MailAppKey); client.DefaultRequestHeaders.Add("Nonce", nonce.ToString()); client.DefaultRequestHeaders.Add("Timestamp", timestamp); client.DefaultRequestHeaders.Add("Signature", signature); //client.DefaultRequestHeaders.Add("Content-Type", "application/x-www-form-urlencoded"); HttpContent content = new FormUrlEncodedContent(new Dictionary <string, string>() { { "mobile", mobile }, { "templateId", "0W3eX9zqABL9w7iFSM8yN_" }, { "region", "86" } }); var response = await client.PostAsync(uri, content); string responseString = await response.Content.ReadAsStringAsync(); RYResult result = JsonConvert.DeserializeObject <RYResult>(responseString); if (result.code == 200) { string error = ""; UpdateUser(out error, id, "", "", "", "", 0, "", "", "", 0, result.sessionId); if (error != "") { throw new Exception(error + "_" + mobile); } } else { throw new Exception(responseString + " __" + mobile); } } catch (Exception ex) { SystemLog.WriteErrorLog("发送短信失败", "1009", ex.Message, ex.StackTrace); } }
public string GetToken(int id, string name, string photo) { string token = ""; int nonce = new Random().Next(9999); string timestamp = ((DateTime.Now.Ticks - new DateTime(1970, 1, 1, 0, 0, 0, 0).Ticks) / 10000).ToString(); string signature = SHA1_Encrypt(ConfCenter.MailAppSecret + nonce + timestamp); string uri = "http://api-cn.ronghub.com/user/getToken.json"; string str_content = "userId=" + id + " &name=" + name + "&portraitUri=" + photo; byte[] content = Encoding.UTF8.GetBytes(str_content); try { HttpWebRequest request = (HttpWebRequest)WebRequest.Create(uri); request.Method = "Post"; request.Host = "api-cn.ronghub.com"; request.Headers.Add("App-Key", ConfCenter.MailAppKey); request.Headers.Add("Nonce", nonce.ToString()); request.Headers.Add("Timestamp", timestamp); request.Headers.Add("Signature", signature); request.ContentType = "application/x-www-form-urlencoded"; request.ContentLength = content.Length; Stream stream; stream = request.GetRequestStream(); stream.Write(content, 0, content.Length); stream.Close(); HttpWebResponse response = (HttpWebResponse)request.GetResponse(); StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.UTF8); string strRtnHtml = reader.ReadToEnd(); reader.Close(); RYResult result = JsonConvert.DeserializeObject <RYResult>(strRtnHtml); if (result.code == 200) { token = result.token; } } catch (Exception ex) { SystemLog.WriteErrorLog("获取token失败", "1009", ex.Message, ex.StackTrace); } return(token); }
private bool CheckIdentity(string code, string sessionId, string mobile) { int nonce = new Random().Next(9999); string timestamp = ((DateTime.Now.Ticks - new DateTime(1970, 1, 1, 0, 0, 0, 0).Ticks) / 10000).ToString(); string signature = SHA1_Encrypt(ConfCenter.MailAppSecret + nonce + timestamp); string uri = "http://api.sms.ronghub.com/verifyCode.json"; try { HttpWebRequest request = (HttpWebRequest)WebRequest.Create(uri); request.Method = "Post"; request.Host = "api.sms.ronghub.com"; request.Headers.Add("App-Key", ConfCenter.MailAppKey); request.Headers.Add("Nonce", nonce.ToString()); request.Headers.Add("Timestamp", timestamp); request.Headers.Add("Signature", signature); request.ContentType = "application/x-www-form-urlencoded"; Stream stream; stream = request.GetRequestStream(); byte[] content = Encoding.UTF8.GetBytes("sessionId=" + sessionId + "&code=" + code); stream.Write(content, 0, content.Length); stream.Close(); HttpWebResponse response = (HttpWebResponse)request.GetResponse(); StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.UTF8); string strRtnHtml = reader.ReadToEnd(); reader.Close(); RYResult result = JsonConvert.DeserializeObject <RYResult>(strRtnHtml); if (result.code == 200 && result.success == true) { return(true); } else { throw new Exception(strRtnHtml); } } catch (Exception ex) { SystemLog.WriteErrorLog("短信验证失败_" + mobile, "1009", ex.Message, ex.StackTrace); //throw new Exception(ex.Message); } return(false); }
public static bool SendMailRY(string mobile, int type, string templateId, string[] param = null) { string uri = ""; if (type == 1) { uri = "http://api.sms.ronghub.com/sendCode.json"; } else if (type == 2) { uri = "http://api.sms.ronghub.com/sendNotify.json"; } int nonce = new Random().Next(9999); string timestamp = ((DateTime.Now.Ticks - new DateTime(1970, 1, 1, 0, 0, 0, 0).Ticks) / 10000).ToString(); string signature = SHA1_Encrypt(ConfCenter.MailAppSecret + nonce + timestamp); try { HttpWebRequest request = (HttpWebRequest)WebRequest.Create(uri); request.Method = "Post"; request.Host = "api.sms.ronghub.com"; request.Headers.Add("App-Key", ConfCenter.MailAppKey); request.Headers.Add("Nonce", nonce.ToString()); request.Headers.Add("Timestamp", timestamp); request.Headers.Add("Signature", signature); request.ContentType = "application/x-www-form-urlencoded"; Stream stream; stream = request.GetRequestStream(); string p = "mobile=" + mobile + "®ion=86&templateId=" + templateId; if (param != null) { for (int i = 1; i <= param.Length; i++) { p += "&p" + i + "=" + param[i - 1]; } } byte[] content = Encoding.UTF8.GetBytes(p); stream.Write(content, 0, content.Length); stream.Close(); HttpWebResponse response = (HttpWebResponse)request.GetResponse(); StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.UTF8); string strRtnHtml = reader.ReadToEnd(); reader.Close(); RYResult result = JsonConvert.DeserializeObject <RYResult>(strRtnHtml); if (result.code == 200 && result.sessionId != "") { return(true); } else { throw new Exception(strRtnHtml); } } catch (Exception ex) { SystemLog.WriteErrorLog("短信发送失败", "1010", ex.Message, ex.StackTrace); } return(false); }