Пример #1
0
        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);
            }
        }
Пример #2
0
        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);
        }
Пример #3
0
        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);
        }
Пример #4
0
        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 + "&region=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);
        }