想在我自己的网站上植入动易短信通,按着提供的接口,我写了一个asp.net的demo,运行总是提示“该用户不存在”。
代码如下:
string id;
string UserName = "登录短信通后台的账号";
string SendNum = "15803214226,刘女士,2300";
string Content = "刘女士,你本月的工资为2300";
string SendTiming = "0";
string SendTime = "2012-02-01 17:21:51";
string Key = "";
string Reserve = "";
string MD5String;
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
//生成随机数
Random rdm = new Random();
int randNum = rdm.Next(1, 1000);
//id = UserName + DateTime.Now.ToString()+randNum.ToString();
Guid g=Guid.NewGuid();
id = g.ToString() + DateTime.Now.ToString("yyyyMMddHHmmss");
MD5String = getMD5(ID+UserName+Key+SendNum+Content+SendTiming+SendTime);
SendMsg(id,UserName,SendNum,Content,SendTiming,SendTime,Reserve,MD5String);
}
private string getMD5(string input)
{
MD5 md5 = new MD5CryptoServiceProvider();
byte[] t = md5.ComputeHash(Encoding.GetEncoding("gb2312").GetBytes(input));
StringBuilder sb = new StringBuilder(32);
for (int i = 0; i < t.Length; i++)
{
sb.Append(t[i].ToString("x").PadLeft(2,'0'));
}
return sb.ToString().ToUpper();
}
private void SendMsg(string id,string username,string sendNum,string content,string sendtiming,string time,string reserve,string msg)
{
string url = "链接:http://sms.powereasy.net/MessageGate/Message.aspx (http://sms.powereasy.net/MessageGate/Message.aspx)";
string postData = "ID=" + id;//id
postData += ("&UserName=" + username);//用户名
postData += ("&SendTiming=" +sendtiming );//是否定时发送
postData += ("&SendTime=" + time);//发送时间
postData += ("&MD5String=" + msg);//进行校验
postData += ("&Reserve=" + reserve);//自定义字段
postData += ("&SendNum=" + sendNum);//接收手机号
postData += ("&Content=" + content);//短信内容
Stream outstream = null;
Stream instream = null;
StreamReader sr = null;
HttpWebRequest request = null;
HttpWebResponse response = null;
Encoding encode=Encoding.GetEncoding("gb2312");
byte[] data=encode.GetBytes(postData);
request = WebRequest.Create(url) as HttpWebRequest;
request.Method = "POST";
outstream = request.GetRequestStream();
outstream.Write(data, 0, data.Length);
outstream.Flush();
outstream.Close();
response = request.GetResponse() as HttpWebResponse;
instream = response.GetResponseStream();
sr = new StreamReader(instream, encode);
Response.Write("<script>alert('"+sr.ReadToEnd()+"');</script>");
}