网上找过N种方法试了都不行,也是用了80端口
----------------------------------------------------------
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.Security;
public partial class asa : System.Web.UI.Page
{
public string Token = ""qwerty;
protected void Page_Load(object sender, EventArgs e)
{
if (string.IsNullOrEmpty(Request.QueryString["echostr"])) { Response.End(); }
string echoStr = Request.QueryString["echostr"].ToString();
if (CheckSignature())
{
if (!string.IsNullOrEmpty(echoStr))
{
Response.Write(echoStr);
Response.End();
}
}
}
private bool CheckSignature()
{
string signature = Request.QueryString["signature"].ToString();
string timestamp = Request.QueryString["timestamp"].ToString();
string nonce = Request.QueryString["nonce"].ToString();
string[] ArrTmp = { Token, timestamp, nonce };
Array.Sort(ArrTmp); //字典排序
string tmpStr = string.Join("", ArrTmp);
tmpStr = FormsAuthentication.HashPasswordForStoringInConfigFile(tmpStr, "SHA1");
tmpStr = tmpStr.ToLower();
if (tmpStr == signature)
{
return true;
}
else
{
return false;
}
}
}
7 个解决方案
#1
返回数据是这个
#2
url放到地址栏里面可以访问吗
#3
可以访问
#4
遇到同样的问题,请问解决了吗?
#5
楼主用的是花生壳加拨号上网吧, 基本可以确定是万恶的ISP*了80端口,改其他端口用吧.
另外说一句,与其用那么多 Response.End(), 不如用 ashx 文件吧,根本无需页面设计.
另外说一句,与其用那么多 Response.End(), 不如用 ashx 文件吧,根本无需页面设计.
#6
如果代码逻辑都正确的话,就是程序超时了
#7
请教有详细教程吗
#1
返回数据是这个
#2
url放到地址栏里面可以访问吗
#3
可以访问
#4
遇到同样的问题,请问解决了吗?
#5
楼主用的是花生壳加拨号上网吧, 基本可以确定是万恶的ISP*了80端口,改其他端口用吧.
另外说一句,与其用那么多 Response.End(), 不如用 ashx 文件吧,根本无需页面设计.
另外说一句,与其用那么多 Response.End(), 不如用 ashx 文件吧,根本无需页面设计.
#6
如果代码逻辑都正确的话,就是程序超时了
#7
请教有详细教程吗