string token = getMd5("app_smtj" + "&" + "timeStamp=" + currenttimemillis + "&" + "6919c03c6f9349ccacc1a2a1096fd045");
方法:
protected string getMd5(string s)
{
//初始化MD5对象
MD5 md5 = MD5.Create();
//将源字符串转化为byte数组
Byte[] soucebyte = Encoding.Default.GetBytes(s);
//soucebyte转化为mf5的byte数组
Byte[] md5bytes = md5.ComputeHash(soucebyte);
//将md5的byte数组再转化为MD5数组
StringBuilder sb = new StringBuilder();
foreach (Byte b in md5bytes)
{
//x表示16进制,2表示2位
sb.Append(b.ToString("x2"));
}
return sb.ToString();
}
PostWebRequestToken方法:
public static string PostWebRequestToken(string postUrl, string token, string paramData, bool isReplaceEmpty = true)
{
string ret = string.Empty;
try
{
if (isReplaceEmpty)
{
paramData = paramData.Replace(" ", "");
}
Encoding dataEncode = Encoding.UTF8;
byte[] byteArray = dataEncode.GetBytes(paramData); //转化
HttpWebRequest webReq = (HttpWebRequest)WebRequest.Create(new Uri(postUrl));
webReq.Method = "POST";
webReq.Headers.Add("accept-charset", "UTF-8");
//webReq.Headers.Add("X-Subject-Token", token);
#region 填充httpWebRequest的基本信息
webReq.ContentType = "application/json";
#endregion
webReq.ContentLength = byteArray.Length;
Stream newStream = webReq.GetRequestStream();
newStream.Write(byteArray, 0, byteArray.Length);//写入参数
newStream.Close();
using (HttpWebResponse response = (HttpWebResponse)webReq.GetResponse())
{
StreamReader sr = new StreamReader(response.GetResponseStream(), Encoding.UTF8);
ret = sr.ReadToEnd();
sr.Close();
response.Close();
}
newStream.Close();
}
catch (Exception ex)
{
//MessageBox.Show(ex.Message);
}
return ret;
}
那么怎么用呢? 我写的一个完整方法 ,有几个参数需要传入,其他的是多余的,
在调试的过程中,可以把这个参数拿出来到postman执行以下,看看是否正确。
string content = "{\n" +
"\"appId\" : \" " + "app_smtj" + "\"" + douhao + "\n" +
"\"appSecret\" :\"" + "6919c03c6f9349ccacc1a2a1096fd045" + "\" " + douhao + " \n" +
"\"timeStamp\" :\"" + "1594865506" + "\"" + douhao + "\n" +
//"\"areaCode\" :[350203]\n" +
"\"orgCode\" :\"" + "350203291100" + "\"" + douhao + "\n" +
"\"token\" :\"" + "77ab90c83db02e3a18fe7907d63f0b89" + "\"\n" +
"}";
根据接口要求来写,
private void GetpersonNum()
{
object currenttimemillis = (long)(DateTime.UtcNow - new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc)).TotalMilliseconds / 1000;
string token = getMd5("app_smtj" + "&" + "timeStamp=" + currenttimemillis + "&" + "6919c03c6f9349ccacc1a2a1096fd045");
try
{
personNumResultModel rqm = new personNumResultModel();
string postData = JsonConvert.SerializeObject(rqm);
string url = personNum;
string data = ApiHelper.Post(url, postData);
//personNumResultModel rm = JsonConvert.DeserializeObject<personNumResultModel>(data);
List<personNumSqlModel> list = new List<personNumSqlModel>();
string douhao = ",";
string content = "{\n" +
"\"appId\" : \" " + "app_smtj" + "\"" + douhao + "\n" +
"\"appSecret\" :\"" + "6919c03c6f9349ccacc1a2a1096fd045" + "\" " + douhao + " \n" +
"\"timeStamp\" :\"" + "1594865506" + "\"" + douhao + "\n" +
//"\"areaCode\" :[350203]\n" +
"\"orgCode\" :\"" + "350203291100" + "\"" + douhao + "\n" +
"\"token\" :\"" + "77ab90c83db02e3a18fe7907d63f0b89" + "\"\n" +
"}";
var response = ConnectHelper.PostWebRequestToken(personNum, token, content);
personNumResultModel rm = JsonConvert.DeserializeObject<personNumResultModel>(response);
#region MyRegion
if (rm != null && rm.data != null)
{
personNumSqlModel sm = new personNumSqlModel();
sm.zzllZcs = rm.data.zzllZcs;
sm.jhzs = rm.data.jhzs;
sm.shllJhs = rm.data.shllJhs;
sm.fzllZcs = rm.data.fzllZcs;
sm.zczs = rm.data.zczs;
sm.shllZcs = rm.data.shllZcs;
sm.zzllJhs = rm.data.zzllJhs;
sm.fzllJhs = rm.data.fzllJhs;
sm.response_time = rm.response_time;
sm.jsessionid = rm.jsessionid;
sm.SJ = DateTime.Now;
list.Add(sm);
string namse = DataHelper.GetSqlNamesByModel(new personNumSqlModel());
string values = DataHelper.GetSqlValuesByModel(list, new personNumSqlModel());
MySqlHelper.ClearDataByName("zdcw_tb_jk1", connection);
MySqlHelper.InsertDataByName("zdcw_tb_jk1", namse, values, connection);
Console.WriteLine(DateTime.Now + "群治人员数量区分注册数、 激活数,区分类型,按区、街道(派出所)、社区统计数据入库成功");
}
else
{
Console.WriteLine(DateTime.Now + "群治人员数量区分注册数、 激活数,区分类型,按区、街道(派出所)、社区统计无数据");
}
#endregion
}
catch (Exception ex)
{
Console.WriteLine("Error___群治人员数量区分注册数、 激活数,区分类型,按区、街道(派出所)、社区统计" + DateTime.Now + ex.Message);
WriteLogsHelper.ErrorLogs("群治人员数量区分注册数、 激活数,区分类型,按区、街道(派出所)、社区统计", ex.Message, "群治人员数量区分注册数、 激活数,区分类型,按区、街道(派出所)、社区统计");
}
}