using CommonUtil;
|
using System;
|
using System.Collections.Generic;
|
using System.IO;
|
using System.Net;
|
using System.Text;
|
using System.Web;
|
|
namespace SmsSendTool
|
{
|
public class SmsSendApi
|
{
|
private string _strjson = string.Empty;
|
private string _username = string.Empty;
|
private string _pwd = string.Empty;
|
|
public SmsSendApi(string strjson,string username,string pwd)
|
{
|
_strjson = strjson;
|
_username = username;
|
_pwd = pwd;
|
}
|
|
public void SendKTApi(ref string strResult)
|
{
|
SmsMsgEntity msg = new SmsMsgEntity(_strjson);
|
|
string url = "http://114.215.196.145/variableSmsApi";//营销的
|
string urlText = "username=" + _username + "&password=" + _pwd + "&mobile=" + msg.Mobile + "&content=" + HttpUtility.UrlEncode(msg.Content, Encoding.UTF8) + "&xh=999";
|
strResult = PostAsync(url, urlText, msg.Mobile, "", "");
|
LogUtil.Info(strResult + ":" + msg.Mobile, "客通" + _username);
|
if (!strResult.Contains("1,"))
|
{
|
LogUtil.Error(msg.Mobile + ":" + strResult, "客通异常" + _username);
|
}
|
}
|
|
/// <summary>
|
/// Post请求
|
/// </summary>
|
/// <param name="logname">日志名</typeparam>
|
/// <param name="sendphones">手机号码</param>
|
/// <param name="url">url</param>
|
/// <param name="data">参数</param>
|
/// <returns></returns>
|
private string PostAsync(string url, string data, string sendphones, string logname, string contenttype)
|
{
|
|
HttpWebResponse httpWebResponse = null;
|
StreamReader sr = null;
|
Stream newStream = null;
|
try
|
{
|
HttpWebRequest httpWebRequest = (HttpWebRequest)HttpWebRequest.Create(url);
|
|
httpWebRequest.Method = "POST";
|
|
// httpWebRequest.Timeout = 600000;
|
|
httpWebRequest.ContentType = contenttype.Length == 0 ? "application/x-www-form-urlencoded" : contenttype; //表头的格式必须要写,否则请求响应的页面得不到要传递的值
|
|
byte[] SomeBytes = System.Text.Encoding.Default.GetBytes(data);//传递的值
|
|
httpWebRequest.ContentLength = SomeBytes.Length;
|
|
newStream = httpWebRequest.GetRequestStream();//把传递的值写到流中
|
|
newStream.Write(SomeBytes, 0, SomeBytes.Length);
|
|
newStream.Close();//必须要关闭 请求
|
|
httpWebResponse = (HttpWebResponse)httpWebRequest.GetResponse();
|
sr = new StreamReader(httpWebResponse.GetResponseStream(), Encoding.UTF8);
|
string retValue = sr.ReadToEnd();
|
return retValue;
|
}
|
catch (Exception ex)
|
{
|
LogUtil.Error(ex.ToString() + "===" + sendphones, logname);
|
return "";
|
}
|
finally
|
{
|
if (sr != null)
|
{
|
sr.Close();
|
}
|
if (httpWebResponse != null)
|
{
|
httpWebResponse.Close();
|
}
|
if (newStream != null)
|
{
|
newStream.Close();
|
}
|
}
|
}
|
}
|
}
|