微信公众号接入web服务器,asp.net Web API 接入微信公众平台验证服务器,接收微信发送的POST请求...

验证签名,接入微信公众平台:不能直接返回String,直接返回String微信服务器不接受。

// GET: api/checkSignature/5

public HttpResponseMessage Get(string signature , string timestamp , string nonce , string echostr)

{

string TOKEN = "微信公众平台设置的TOKEN";

var response = new HttpResponseMessage(HttpStatusCode.OK);

string[] ArrTmp = { TOKEN, timestamp, nonce };

string result = "";

Array.Sort(ArrTmp);

string tmpStr = string.Join("", ArrTmp);

string sign = SignHelper.Sha1Sign(tmpStr);

Log.WorkInfo("sign:" + sign);

Log.WorkInfo("signature:" + signature);

if (sign.Equals(signature))

{

result = echostr;

}

else

{

result = "signature fail";

}

response.Content = new StringContent(result, System.Text.Encoding.UTF8, "text/plain");

return response;

}

///

/// Sha1加密签名

///

///

///

public static string Sha1Sign(string str)

{

SHA1 sha1 = new SHA1CryptoServiceProvider();

byte[] bytes_sha1_in = System.Text.UTF8Encoding.Default.GetBytes(str);

byte[] bytes_sha1_out = sha1.ComputeHash(bytes_sha1_in);

string signature = BitConverter.ToString(bytes_sha1_out);

signature = signature.Replace("-", "").ToLower();

return signature;

}

2.验证完服务器后,接收用户消息:这里不 能直接用[FromBody]接收参数。

public HttpResponseMessage Post()

{

System.IO.Stream s = System.Web.HttpContext.Current.Request.InputStream;

byte[] b = new byte[s.Length];

s.Read(b, 0, (int)s.Length);

string postStr = Encoding.UTF8.GetString(b);

Log.WorkInfo("接收时间:"+System.DateTime.Now.ToString("yyyy-mm-dd HH:MM:ss")+":"+postStr);

//Log.WorkInfo(value);

//return "";

var response = new HttpResponseMessage(HttpStatusCode.OK);

response.Content = new StringContent("", System.Text.Encoding.UTF8, "text/plain");

return response;

}

如果您是土豪,请打赏一下吧!您的打赏是我不断努力的动力!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值