一直提示签名错误。
Tt*
发布于 5 年前
125890消息推送 U-Push
API调用
使用后台生成的json字符串也不行。一直提示签名错误。




string singurl = "http://msg.umeng.com/api/send";
sign = md5("$POST$" + singurl + "$" + Json + "$" + IosAppsecret);
string Url = "http://msg.umeng.com/api/send?sign=" + sign;
var obj = HttpMethods.Post(Url, Json, "");
public static string md5(string str)
{
try
{
MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider();
byte[] bytValue, bytHash;
bytValue = System.Text.Encoding.UTF8.GetBytes(str);
bytHash = md5.ComputeHash(bytValue);
md5.Clear();
string sTemp = "";
for (int i = 0; i < bytHash.Length; i++)
{
sTemp += bytHash[i].ToString("X").PadLeft(2, '0');
}
str = sTemp.ToLower();
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
return str;
}
public static string Post(string url, string content,string Token="")
{
string result = "";
try
{
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
req.Method = "POST";
req.ContentType = "application/json;charset=utf-8";
#region 添加Post 参数
byte[] data = Encoding.UTF8.GetBytes(content);
req.ContentLength = data.Length;
using (Stream reqStream = req.GetRequestStream())
{
reqStream.Write(data, 0, data.Length);
reqStream.Close();
}
#endregion
if (!string.IsNullOrEmpty(Token))
{
req.Headers.Add("token", Token);
}
HttpWebResponse resp = (HttpWebResponse)req.GetResponse();
Stream stream = resp.GetResponseStream();
//获取响应内容
using (StreamReader reader = new StreamReader(stream, Encoding.UTF8))
{
result = reader.ReadToEnd();
}
}
catch (Exception ex)
{
result = "{\"ret\":\"FAIL\",\"data\":{\"error_code\":\"xx\", \"error_msg\":\""+ex.Message+"\" }";
//throw;
}
return result;
}
