using System;
using System.Collections.Generic;
using System.IO;
using System.Text;
using System.Net;
using System.Net.Security;
using System.Security.Cryptography.X509Certificates;
using System.Text.Json;
class Program
{
private const string host = "https://api.ihuyi.com";
private const string path = "/mms/v1/batchSend";
private const string method = "POST";
static void Main(string[] args)
{
// 定義請求的數(shù)據(jù)
var values = new Dictionary<string, object>
{
{"api_id": "mms-xxxxxxxx"}, //APIID(用戶中心【富媒體短信】-【5G視頻短信】-【產(chǎn)品總覽】查看)
{"signature": "xxxxxxxxx"}, //請求驗證加密簽名(非彩信簽名);
簽名生成方式:
僅公共參數(shù)以ASCII碼從小到大排序值,key=value,多值以“&”隔開,拼接之后md5 32位小寫; 如:md5(api_id=xxxx&api_key=xxxx&request_id=xxxxxxxx×tamp=xxxxxxx)
APIKEY(用戶中心【富媒體短信】-【5G視頻短信】-【產(chǎn)品總覽】查看)
2、動態(tài)密碼(生成動態(tài)密碼方式請看該文檔末尾的說明)
{"timestamp": 1623643787}, //東八時區(qū);10位時間戳,時間允許相差±60S
{"request_id": "xxxxxxxxxxxx"}, //請求方請求ID,建議使用唯一ID,比如使用uuid;我方系統(tǒng)會2小時內去重驗證處理,防止網(wǎng)絡重復攻擊;
{"product_id": 1001}, //產(chǎn)品ID
{"phone": new List<string> { "18800000000", "18800000001" }}, //手機號數(shù)組(最多1萬個號碼)
{"sign_name": "xxxxxxxx"}, //彩信簽名(template_id未填寫則必填)
{"title": "xxxxxxxxxxxx"}, //彩信標題(template_id未填寫則必填)
{"content": new List<Dictionary<string, string>> {
new Dictionary<string, string> { {"con_type", "txt"}, {"ext_type", ""}, {"data", "將原始內容base64編碼"} },
new Dictionary<string, string> { {"con_type", "img"}, {"ext_type", "jpg"}, {"data", "將原始內容base64編碼"} }
}}, //彩信內容和模板ID必須傳入1個;當彩信內容和模板ID都傳入時,傳入內容生效,模板ID屬性失效 彩信元素DataItem結構:(具體參照文檔9.01)
{"template_id": 1}, //模板ID(內容為空則必填)
{"send_time": "2020-08-26 16:08:14"}, //定時發(fā)送時間
};
// 將數(shù)據(jù)轉換為JSON字符串
string jsonBody = JsonSerializer.Serialize(values);
byte[] data = Encoding.UTF8.GetBytes(jsonBody);
string url = host + path;
HttpWebRequest httpRequest = null;
HttpWebResponse httpResponse = null;
if (host.Contains("https://"))
{
ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(CheckValidationResult);
httpRequest = (HttpWebRequest)WebRequest.CreateDefault(new Uri(url));
}
else
{
httpRequest = (HttpWebRequest)WebRequest.Create(url);
}
httpRequest.Method = method;
httpRequest.ContentType = "application/json";
httpRequest.ContentLength = data.Length;
// 將JSON數(shù)據(jù)寫入請求體
using (Stream stream = httpRequest.GetRequestStream())
{
stream.Write(data, 0, data.Length);
}
try
{
httpResponse = (HttpWebResponse)httpRequest.GetResponse();
}
catch (WebException ex)
{
httpResponse = (HttpWebResponse)ex.Response;
}
Console.WriteLine(httpResponse.StatusCode);
Console.WriteLine(httpResponse.Method);
Console.WriteLine(httpResponse.Headers);
Stream st = httpResponse.GetResponseStream();
StreamReader reader = new StreamReader(st, Encoding.GetEncoding("utf-8"));
Console.WriteLine(reader.ReadToEnd());
Console.WriteLine("\n");
// 釋放資源
reader.Close();
st.Close();
if (httpResponse != null)
httpResponse.Close();
}
public static bool CheckValidationResult(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors errors)
{
return true;
}
}
國內專業(yè)互聯(lián)網(wǎng)團隊
21年行業(yè)經(jīng)驗
7x24小時售后支持
豐富的行業(yè)經(jīng)驗
Copyright ? 2004-2025 上海思銳信息技術有限公司 All rights reserved. 滬ICP備07035915號-15 電信增值業(yè)務許可證:B2-20160082
服務熱線:
4008 808 898
服務熱線(工作時間):
4008 808 898
業(yè)務咨詢(非工作時間):
售后咨詢(非工作時間):