千家信息网

c#短信接口怎么用

发表于:2025-01-17 作者:千家信息网编辑
千家信息网最后更新 2025年01月17日,这篇文章给大家分享的是有关c#短信接口怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。短信发送接口1.1 请求地址请求地址是客户接口程序调用时请求的url地址,采用的是
千家信息网最后更新 2025年01月17日c#短信接口怎么用

这篇文章给大家分享的是有关c#短信接口怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

短信发送接口

1.1 请求地址

请求地址是客户接口程序调用时请求的url地址,采用的是https post 接口,地址是

https://sh3.ipyy.com/sms.aspx 对应UTF-8

https://sh3.ipyy.com/smsGBK.aspx 对应GB2312

https://sh3.ipyy.com/smsJson.aspx 对应UTF-8(返回值为json格式)

https://sh3.ipyy.com/ensms.ashx 对应UTF-8(加密传输,使用json)

入口地址一般不会发生变化,当发生变化的时候,会通知接口用户

1.2参数说明

参数名称

含义

说明

userid

企业id

企业ID(不验证)

account

发送用户帐号

用户帐号,由系统管理员

password

发送帐号密码

用户账号对应的密码

可以使用明文,也可以全用md5加密方式,md5采用32位大写

如abc123加密后为

E99A18C428CB38D5F260853678922E03

mobile

全部被叫号码

短信发送的目的号码.多个号码之间用半角逗号隔开

content

发送内容

短信的内容,内容需要UTF-8编码,提交内容格式:内容+【签名】。签名是公司的名字或者公司项目名称。示例:您的验证码:1439【腾飞】。【】是签名的标识符。请按照正规的格式提交内容测试

sendTime

定时发送时间

为空表示立即发送,定时发送格式2010-10-24 09:08:10

action

发送任务命令

设置为固定的:send

extno

扩展子号

请先询问配置的通道是否支持扩展子号,如果不支持,请填空。子号只能为数字,且最多5位数。

例如:

https://sh3.ipyy.com/sms.aspx?action=send&userid=&account=账号&password=密码&mobile=15023239810,13527576163&content=内容&sendTime=&extno=

1.3返回值

在接收到客户端发送的https请求后,返回以xml的方式返回处理结果。格式为:

status ---------- 返回状态值:成功返回Success 失败返回:Faild

message ---------- 相关的错误描述

remainpoint ---------- 返回余额

taskID ----------- 返回本次任务的序列ID

successCounts --成功短信数:当成功后返回提交成功短信数

1.4 Json返回值

{"returnstatus":"Success",
"message":"操作成功",
"remainpoint":"-4",
"taskID":"1504080852350206",
"successCounts":"1"}
以下是c#短信接口的demo

// 华信短信发送DEMO程序(aspx接口)

// 短信验证码免费测试:17721077856 2885400276

// 开发环境:vs2015,.net framework 4.0,Microsfot Http Client 2.2.29

// 版本:1.1

// 最近修订:2016-12-28

using System;

using System.Collections.Generic;

using System.Net.Http;

using System.Xml.Linq;

using System.Xml.XPath;

namespace Huaxin.MessageSend.Demo

{

class SendViaAspx : ISender

{

private const string URL = @"https://sh3.ipyy.com/sms.aspx";

private readonly HttpClient _client = new HttpClient();

public SendViaAspx()

{

_client.DefaultRequestHeaders.Clear();

_client.BaseAddress = new Uri(URL);

}

public void DoSend()

{

var accountName = "yzz"; //改为实际账号名

var password = "yzz123"; //改为实际发送密码

var mobiles = "18611729367"; //多个手机号用","分隔

var content = "c#版aspx接口发送测试,您的验证码:8888【华信】";

var extNumber = "";

var result = GetResult(accountName, password, mobiles, content, extNumber);

Print(result);

}

private string GetResult(string accountName, string password,string mobiles, string content, string extNumber)

{

var req = new HttpRequestMessage();

req.Headers.Clear();

req.Headers.Add("ContentType", "application/x-www-form-urlencoded;charset=utf-8");

req.Method = HttpMethod.Post;

req.Content = new FormUrlEncodedContent(new Dictionary

{

{"action", "send"},

{"userid", ""},

{"account", accountName},

{"password", password},

{"mobile", mobiles},

{"content", content},

{"sendtime", ""},

{"extno", extNumber}

});

var response = _client.SendAsync(req).Result;

try

{

response.EnsureSuccessStatusCode();

}

catch (Exception ex)

{

Console.WriteLine("Error:{0}", ex.Message);

return "";

}

return response.Content.ReadAsStringAsync().Result;

}

private void Print(string resultString)

{

var el = XElement.Parse(resultString);

var root = el.XPathSelectElement("/");

var status = root.XPathSelectElement("returnstatus").Value;

var message = root.XPathSelectElement("message").Value;

var remainpoint = root.XPathSelectElement("remainpoint").Value;

var taskid = root.XPathSelectElement("taskID").Value;

var successCounts = root.XPathSelectElement("successCounts").Value;

Console.WriteLine("状态:{0}",status);

Console.WriteLine("状态描述:{0}", message);

Console.WriteLine("余额:{0}", remainpoint);

Console.WriteLine("任务ID:{0}", taskid);

Console.WriteLine("成功条数:{0}", successCounts);

}

}

}

感谢各位的阅读!关于"c#短信接口怎么用"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

0