短消息发送代码

private void SendMsg(string strMobile,string strMsg,string strSvid,string strCPUID,string strPWD,string strSender)
//FeeType(资费类别)FeeCode(资费代码)ChargeTermID(计费号码)DestTermID(接收消息的目的号码)sReplyPath(用户回复号码)
//MsgContent(短消息内容)MsgType(消息类型)
{
   try
   {
 string postData="";
 Encoding encoding = Encoding.GetEncoding("utf-8");
    
 postData += "<linkrich-mt>";
 postData += "<version>200</version>";
 postData += "<customer>"+strCPUID+"</customer>";
 postData += "<pwd>"+strPWD+"</pwd>";
 postData += "<service>"+strSvid+"</service>";
 postData += "<srcmobile>"+strMobile+"</srcmobile>";
 postData += "<source>"+strSender+"</source>";
 postData += "<destmobile>"+strMobile+"</destmobile>";
 postData += "<type>17</type>";
 postData += "<message>"+strMsg+"</message>";
 postData += "<pid>0</pid>";
 postData += "<udhi>0</udhi>";
 postData += "<time>0</time>";
 postData += "</linkrich-mt>";
 
 string strUrl = "URL";//接口地址

 byte[] data = encoding.GetBytes(postData);

 // 准备请求...
 HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(strUrl);
 myRequest.Method = "POST";
 myRequest.ContentType="application/x-www-form-urlencoded";
 myRequest.ContentLength = data.Length;
 Stream newStream=myRequest.GetRequestStream();
 // 发送数据
 newStream.Write(data,0,data.Length);

 HttpWebResponse myHttpWebResponse = (HttpWebResponse)myRequest.GetResponse();
 Stream receiveStream = myHttpWebResponse.GetResponseStream();

 Encoding encode = System.Text.Encoding.GetEncoding("utf-8");
 StreamReader readStream = new StreamReader(receiveStream, encode );

 strContent=readStream.ReadToEnd();
 strContent=strContent.Substring((strContent.IndexOf("<status>")+8),1);
 StreamWriter fs=new StreamWriter("E:/HttpLog/log.txt",true,System.Text.Encoding.Default);
 fs.WriteLine(DateTime.Now+":"+strMobile+"   "+strContent);
 fs.Close();
 newStream.Close();
    
    }   

    catch(Exception e1)
    {
 string strFileName="E:/HttpLog/errorlog.txt";
 StreamWriter fs=new StreamWriter(strFileName,true,System.Text.Encoding.Default);
 fs.WriteLine(DateTime.Now+":"+strMobile+"   "+e1.ToString());
 fs.WriteLine("");
 fs.Close();
    }
}
上面是发送短信的代码
接受的方法就只要用Request.QueryString[""]得到就可以了
不过要根据SP提供的文档而定

AT指令收发短信,需要短信猫的支持 /// <summary> /// 针对国内短信编码(USC2) /// </summary> public class USC2 { public readonly static int MAX_CHAR_COUNT = 70;//最长可发送汉字个数 /**/ /// <summary> /// 奇偶互换并补F /// </summary> /// <param name="value"></param> /// <returns></returns> private static string ParityChange(string value) { string result = string.Empty; int length = value.Length; for (int i = 1; i < length; i += 2)//奇偶互换 { result += value[i]; result += value[i - 1]; } if (!(length % 2 == 0))//不是偶数则加上F,与最后一位互换 { result += 'F'; result += value[length - 1]; } return result; } /**/ /// <summary> /// 短信内容编码 /// </summary> /// <param name="value"></param> /// <returns></returns> /// <remarks> /// 采用Big-Endian 字节顺序的 Unicode 格式编码,将高低位互换 /// 将转换后的短信内容存进字节数组 /// 去掉在进行Unicode格式编码中,两个字节中的"-",例如:00-21,变成0021 /// 将整条短信内容的长度除2,保留两位16进制数 /// </remarks> public static string Encoding(string value) { Encoding encoding = System.Text.Encoding.BigEndianUnicode; string result = string.Empty; byte[] bytes = encoding.GetBytes(value); for (int i = 0; i < bytes.Length; i++) { result += BitConverter.ToString(bytes, i, 1); } return result; } public static string EncodeingAddLength(string value) { string result = Encoding(value); return String.Format("{0:X2}{1}", result.Length / 2, result); } /**/ /// <summary> /// 短信中心号码编码 /// </summary> /// <param name="value"></param> /// <returns></returns> public static string DecodingCenter(string phone) { string result = string.Empty; result = ParityChange(phone); result = String.Format("91{0}", result);//加上91 result = String.Format("{0:X2}{1}", result.Length / 2, result); return result; }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值