百度搜了一下,没有根本解决方法(前提是在商户平台已经设置了允许的IP),就是提示IP地址非你在...的错误提示,PS:鄙视一下腾讯,既然你都知道我IP是什么,为什么你返回信息不直接告诉我真实IP地址。
也有相类似的解决方法:
可实际这个IP也不是我的真实IP,因为做了虚拟路由或者是代理等别的手段,不能获取到真实IP地址等。
那我们怎么才能获取真正的符合微信要求的IP呢,看下面的代码:
public string getTrueIP()
{
String direction = "";
string url = "http://checkip.dyndns.org/";
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.Method = "PROPFIND";
request.ContentType = "application/x-www-form-urlencoded;charset:utf-8";
using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
{
Stream stream = response.GetResponseStream();
using (StreamReader streamReader = new StreamReader(stream, Encoding.UTF8))
{
direction = streamReader.ReadToEnd().ToString();
}
}
//Search for the ip in the html
int first = direction.IndexOf("Address: ") + 9;
int last = direction.LastIndexOf("</body>");
direction = direction.Substring(first, last - first);
return direction;
}
在服务器执行这个代码,请求第三方工具获取本服务器的真实IP,把这个IP加到商户平台那边,解决。