前段时间开发一个中国联通一线通的短接口,现将一些代码共享,方便新手使用
首先,我要说明的是,我这里是写一个接口,供我团队其它成员使用,他们只需要post两个参数给我就可以
下面是主入口
窗体代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Net;
using System.IO;
using System.Text;
using System.Collections.Specialized;
using System.Data;
using System.Data.SqlClient;
public partial class sendinfo : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
sendxinxi();
}
private void sendxinxi()
{
try
{
string UserNumber = Request.Form["mobile"].Trim();//手机号
string MessageContent = Request.Form["content"].Trim();//发送内容
if (UserNumber == null || UserNumber == "" || MessageContent == null || MessageContent == "")
{
//Response.Clear();
Response.Write("callbackfun({ result:\"False\"})");
//Response.End();
}
else
{
if (sendms_data.countsms(UserNumber))
{
sendms_data.insertdata_yc(UserNumber, "此手机号当天发送量超过30条,系统设置无法发送成功!,提交内容为:" + MyUrlDeCode(MessageContent,null));//写入异常数据
//Response.Clear();
Response.Write("callbackfun({ result:\"False\"})");
//Response.End();
}
else
{
sendmode sendinfomode = new sendmode();
string SpCode = sendinfomode.SpCode;
string LoginName = sendinfomode.LoginName;
string Password = sendinfomode.Password;
string SerialNumber = sendinfomode.SerialNumber;
string urltem = sendinfomode.urltem;
先GBK编码,然后UrlEncode编码
MessageContent = HttpUtility.UrlEncode(Encoding.GetEncoding("GBK").GetBytes(MessageContent));
string url = urltem + "?SpCode=" + SpCode + "&LoginName=" + LoginName + "&Password=" + Password + "&MessageContent=" + MessageContent + "&UserNumber=" + UserNumber + "&SerialNumber=" + SerialNumber + "&ScheduleTime=&f=1";
byte[] postData = Encoding.UTF8.GetBytes(url);
HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest;
Encoding myEncoding = Encoding.UTF8;