婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識(shí)庫 > 阿里大魚簡單發(fā)送短信功能.net core版

阿里大魚簡單發(fā)送短信功能.net core版

熱門標(biāo)簽:旅游地圖標(biāo)注線路 地圖標(biāo)注位置怎么弄圖 漯河外呼調(diào)研線路 電銷專用外呼線路 400電話唐山辦理 廣西房產(chǎn)智能外呼系統(tǒng)推薦 威力最大的電銷機(jī)器人 電銷外呼系統(tǒng)是違法的嗎 電話機(jī)器人鑰匙扣

阿里大魚還未提供 .net core 版SDK,但提供了相關(guān)API,下面是.net core版實(shí)現(xiàn),只是簡單發(fā)送短信功能: 

using System;
using System.Collections.Generic;
using System.IO;
using System.Net;
using System.Security.Cryptography;
using System.Text;
using Newtonsoft.Json;

namespace ConsoleApp1
{
  public class SmsHelper
  {
    public static string Post(string url, string data, Encoding encoding)
    {
      try
      {
        HttpWebRequest req = WebRequest.CreateHttp(new Uri(url));
        req.ContentType = "application/x-www-form-urlencoded;charset=utf-8";
        req.Method = "POST";
        req.Accept = "text/xml,text/javascript";
        req.ContinueTimeout = 60000;

        byte[] postData = encoding.GetBytes(data);
        Stream reqStream = req.GetRequestStreamAsync().Result;
        reqStream.Write(postData, 0, postData.Length);
        reqStream.Dispose();

        var rsp = (HttpWebResponse)req.GetResponseAsync().Result;
        var result = GetResponseAsString(rsp, encoding);
        return result;
      }
      catch (Exception ex)
      {
        throw;
      }
    }

    public static T PostT>(string url, string data, Encoding encoding)
    {
      try
      {
        var result = Post(url, data, encoding);
        return JsonConvert.DeserializeObjectT>(result);
      }
      catch (Exception ex)
      {
        return default(T);
      }
    }

    public static string BuildQuery(IDictionarystring, string> parameters)
    {
      if (parameters == null || parameters.Count == 0)
      {
        return null;
      }

      StringBuilder query = new StringBuilder();
      bool hasParam = false;

      foreach (KeyValuePairstring, string> kv in parameters)
      {
        string name = kv.Key;
        string value = kv.Value;
        // 忽略參數(shù)名或參數(shù)值為空的參數(shù)
        if (!string.IsNullOrEmpty(name)  !string.IsNullOrEmpty(value))
        {
          if (hasParam)
          {
            query.Append("");
          }

          query.Append(name);
          query.Append("=");
          query.Append(WebUtility.UrlEncode(value));
          hasParam = true;
        }
      }

      return query.ToString();
    }

    public static string GetResponseAsString(HttpWebResponse rsp, Encoding encoding)
    {
      Stream stream = null;
      StreamReader reader = null;

      try
      {
        // 以字符流的方式讀取HTTP響應(yīng)
        stream = rsp.GetResponseStream();
        reader = new StreamReader(stream, encoding);
        return reader.ReadToEnd();
      }
      finally
      {
        // 釋放資源
        if (reader != null) reader.Dispose();
        if (stream != null) stream.Dispose();
        if (rsp != null) rsp.Dispose();
      }
    }

    public static string GetAlidayuSign(IDictionarystring, string> parameters, string secret, string signMethod)
    {
      //把字典按Key的字母順序排序
      IDictionarystring, string> sortedParams = new SortedDictionarystring, string>(parameters, StringComparer.Ordinal);

      //把所有參數(shù)名和參數(shù)值串在一起
      StringBuilder query = new StringBuilder();
      if (Constants.SIGN_METHOD_MD5.Equals(signMethod))
      {
        query.Append(secret);
      }
      foreach (KeyValuePairstring, string> kv in sortedParams)
      {
        if (!string.IsNullOrEmpty(kv.Key)  !string.IsNullOrEmpty(kv.Value))
        {
          query.Append(kv.Key).Append(kv.Value);
        }
      }

      //使用MD5/HMAC加密
      if (Constants.SIGN_METHOD_HMAC.Equals(signMethod))
      {
        return Hmac(query.ToString(), secret);
      }
      else
      {
        query.Append(secret);
        return Md5(query.ToString());
      }
    }

    public static string Hmac(string value, string key)
    {
      byte[] bytes;
      using (var hmac = new HMACMD5(Encoding.UTF8.GetBytes(key)))
      {
        bytes = hmac.ComputeHash(Encoding.UTF8.GetBytes(value));
      }
      StringBuilder result = new StringBuilder();
      foreach (byte t in bytes)
      {
        result.Append(t.ToString("X2"));

      }
      return result.ToString();
    }

    public static string Md5(string value)
    {
      byte[] bytes;
      using (var md5 = MD5.Create())
      {
        bytes = md5.ComputeHash(Encoding.UTF8.GetBytes(value));
      }
      var result = new StringBuilder();
      foreach (byte t in bytes)
      {
        result.Append(t.ToString("X2"));
      }
      return result.ToString();
    }

    public static SmsResultAli SendSms(string url, string appKey, string appSecret, DateTime timestamp, Dictionarystring, string> parsms)
    {
      var txtParams = new SortedDictionarystring, string>();
      txtParams.Add(Constants.METHOD, "alibaba.aliqin.fc.sms.num.send");
      txtParams.Add(Constants.VERSION, "2.0");
      txtParams.Add(Constants.SIGN_METHOD, Constants.SIGN_METHOD_HMAC);
      txtParams.Add(Constants.APP_KEY, appKey);
      txtParams.Add(Constants.FORMAT, "json");
      txtParams.Add(Constants.TIMESTAMP, timestamp.ToString(Constants.DATE_TIME_FORMAT));
      txtParams.Add(Constants.SMS_TYPE, "normal");
      foreach (var item in parsms)
      {
        txtParams.Add(item.Key,item.Value);
      }

      txtParams.Add(Constants.SIGN, GetAlidayuSign(txtParams, appSecret, Constants.SIGN_METHOD_HMAC));
      var result = PostSmsResultAli>(url, BuildQuery(txtParams), Encoding.UTF8);

      return result;
    }

  }

  public class SmsResultAli
  {
    public SmsResponseALi Alibaba_Aliqin_Fc_Sms_Num_Send_Response { get; set; }
  }

  public class SmsResponseALi
  {
    public string Request_Id { get; set; }
    public SmsResponseResultAli Result { get; set; }
  }

  public class SmsResponseResultAli
  {
    public string Err_Code { get; set; }

    public string Model { get; set; }

    public bool Success { get; set; }
  }
}

發(fā)送短信時(shí):          

var parms = new Dictionarystring, string>();
  parms.Add(Constants.EXTEND, "123456");
  parms.Add(Constants.REC_NUM, "138********");
  parms.Add(Constants.SMS_FREE_SIGN_NAME, "阿里大魚");
  parms.Add(Constants.SMS_PARAM, "{\"code\":\"1234\",\"product\":\"阿里大魚\"}");
  parms.Add(Constants.SMS_TEMPLATE_CODE, "SMS_10000000");

var req = SmsHelper.SendSms("http://gw.api.taobao.com/router/rest", "appKey", "appSecret", DateTime.Now, parms);

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • 通過第三方接口發(fā)送短信驗(yàn)證碼/短信通知(推薦)
  • NodeJS實(shí)現(xiàn)阿里大魚短信通知發(fā)送
  • asp.net調(diào)用飛信免費(fèi)發(fā)短信(測試有效)
  • ASP.NET(VB)寫的后臺(tái)發(fā)送短信實(shí)現(xiàn)代碼
  • C#代碼實(shí)現(xiàn)短信驗(yàn)證碼接口示例
  • C#怎么實(shí)現(xiàn)手機(jī)短信發(fā)送功能
  • java、php、C#、asp實(shí)現(xiàn)短信群發(fā)功能的方法
  • CDMA 貓用AT命令發(fā)中文短信(C#)
  • ASP.NET MVC阿里大于短信接口開發(fā)短信群發(fā)能

標(biāo)簽:湖北 無錫 湘西 試駕邀約 銅陵 焦作 欽州 綏化

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《阿里大魚簡單發(fā)送短信功能.net core版》,本文關(guān)鍵詞  阿里,大魚,簡單,發(fā)送,短信,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《阿里大魚簡單發(fā)送短信功能.net core版》相關(guān)的同類信息!
  • 本頁收集關(guān)于阿里大魚簡單發(fā)送短信功能.net core版的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    日韩欧美123| 久久综合九色综合97婷婷| 欧美一区三区四区| 欧美韩国日本不卡| 日韩国产精品久久| 在线免费不卡电影| 亚洲丝袜制服诱惑| 国产麻豆视频精品| 日韩丝袜美女视频| 亚洲电影第三页| 色女孩综合影院| 国产精品欧美久久久久无广告| 免费人成在线不卡| 欧美日韩国产大片| 亚洲国产综合人成综合网站| 91丝袜美女网| 国产精品进线69影院| 国产一区不卡在线| 日韩欧美国产综合| 天堂在线亚洲视频| 欧美日韩久久一区| 一区二区三区波多野结衣在线观看| 成人动漫精品一区二区| 国产农村妇女精品| 国产精品自拍一区| 久久影视一区二区| 国产经典欧美精品| 国产色91在线| 高清视频一区二区| 国产女主播视频一区二区| 国产很黄免费观看久久| 久久精品一区二区三区不卡 | 精品少妇一区二区三区在线播放 | 久久综合av免费| 五月天一区二区| 欧美电影一区二区| 久久69国产一区二区蜜臀| 欧美大胆一级视频| 韩国毛片一区二区三区| 久久久久久夜精品精品免费| 国产精品资源在线观看| 亚洲国产精品激情在线观看 | 国产在线国偷精品产拍免费yy| 日韩一区二区三| 国产精品99久久久久久久vr| 国产精品久久久久三级| 一本一道波多野结衣一区二区| 亚洲电影视频在线| 欧美一级黄色片| 国产98色在线|日韩| 亚洲少妇屁股交4| 欧美一区在线视频| 国v精品久久久网| 亚洲五月六月丁香激情| 欧美刺激午夜性久久久久久久| 国产精品18久久久久久久久久久久 | 美女网站在线免费欧美精品| 久久奇米777| 色婷婷av一区二区三区软件 | 久久er精品视频| 亚洲欧洲精品一区二区三区| 精品视频1区2区| 国产乱人伦偷精品视频不卡| 亚洲美女淫视频| 久久久久久一级片| 欧美亚州韩日在线看免费版国语版| 青草国产精品久久久久久| 欧美高清在线一区二区| 欧美性感一类影片在线播放| 韩国在线一区二区| 午夜在线电影亚洲一区| 国产女同性恋一区二区| 欧美一区二区三区影视| 97se亚洲国产综合在线| 日韩av一级电影| 亚洲精选视频免费看| 亚洲精品一线二线三线| 91久久线看在观草草青青| 国产成人在线视频网址| 视频一区二区三区入口| 亚洲色图第一区| 精品国产免费人成在线观看| 欧美亚洲一区二区在线| 粉嫩av一区二区三区在线播放| 亚洲高清免费观看 | 午夜欧美在线一二页| 国产人妖乱国产精品人妖| 欧美日韩日日夜夜| 色先锋aa成人| 成人精品一区二区三区中文字幕| 日韩av中文在线观看| 一区二区三区日本| 成人欧美一区二区三区黑人麻豆| 精品剧情在线观看| 日韩精品一区二区三区中文精品| 欧美日韩免费不卡视频一区二区三区| 99久久精品国产精品久久| 风间由美一区二区三区在线观看 | 国产精品资源站在线| 蜜臀久久久久久久| 日韩va亚洲va欧美va久久| 夜夜操天天操亚洲| 一区二区三区不卡视频在线观看 | 国产精品主播直播| 麻豆成人久久精品二区三区小说| 日本欧美韩国一区三区| 亚洲午夜电影在线观看| 亚洲福利电影网| 亚洲444eee在线观看| 亚洲a一区二区| 免费视频最近日韩| 久久99国产精品久久99果冻传媒| 蜜臀va亚洲va欧美va天堂| 蜜臀久久99精品久久久画质超高清| 蜜桃av噜噜一区二区三区小说| 日韩综合小视频| 激情偷乱视频一区二区三区| 国产一区二区三区免费播放| 国产91丝袜在线播放| 91欧美激情一区二区三区成人| 91色porny蝌蚪| 欧美日韩国产首页| 日韩三级.com| 国产婷婷色一区二区三区在线| 国产精品电影一区二区三区| 一区二区三区在线视频免费| 肉色丝袜一区二区| 国产一区二区三区电影在线观看| 国产成人免费视频网站| jlzzjlzz欧美大全| 欧美日韩视频在线观看一区二区三区 | 91精品办公室少妇高潮对白| 欧美日韩国产三级| 久久综合九色综合欧美98| 中文字幕中文字幕一区二区| 亚洲影院免费观看| 国内一区二区视频| 99久久精品免费看| 日韩欧美在线网站| 中文字幕在线视频一区| 亚洲成av人片一区二区| 激情欧美日韩一区二区| 91老司机福利 在线| 欧美福利一区二区| 国产精品久久久久毛片软件| 亚洲成av人综合在线观看| 狠狠色丁香久久婷婷综| 色综合网站在线| 久久色中文字幕| 午夜激情一区二区三区| 成人免费视频国产在线观看| 欧美乱熟臀69xxxxxx| 国产精品美日韩| 久久精品国内一区二区三区| 91老司机福利 在线| 欧美精品一区二区三区久久久 | 亚洲一二三四区不卡| 国内精品嫩模私拍在线| 欧美在线视频全部完| 国产精品日韩精品欧美在线| 婷婷夜色潮精品综合在线| 99精品视频在线观看免费| 精品国产乱码久久久久久图片| 亚洲国产日韩综合久久精品| 99视频在线精品| 久久久久免费观看| 全国精品久久少妇| 欧美三级电影网| 亚洲欧美激情小说另类| 大尺度一区二区| 26uuu色噜噜精品一区二区| 午夜亚洲国产au精品一区二区| 色综合久久久久综合99| 欧美激情一区二区三区在线| 免费成人在线影院| 制服丝袜av成人在线看| 亚洲午夜电影在线| 色香蕉久久蜜桃| 中文字幕综合网| 成人h精品动漫一区二区三区| 欧美电影精品一区二区| 美日韩一区二区三区| 91.xcao| 蜜桃视频在线观看一区二区| 7878成人国产在线观看| 香蕉乱码成人久久天堂爱免费| 色视频一区二区| 蜜臀国产一区二区三区在线播放| 91啪九色porn原创视频在线观看| 国产精品乱人伦| 99精品桃花视频在线观看| 亚洲日本乱码在线观看| 色播五月激情综合网| 亚洲黄色小说网站| 在线这里只有精品| 天天色综合天天| 精品国产一区久久| 国产成人综合网站| 中文字幕一区二区三中文字幕| www.视频一区|