我的支持团队为我提供了一个实时 IP,例如 http://201.121.152.168:68/
。现在在正常情况下你会认为 68 是端口。但是,当我执行 Request.Host 时,我得到 201.121.152.168
,当我执行 Request.Port 时,我得到 80
。那么68这个数字去了哪里呢?它既不会进入主机也不会进入端口。这就是为什么我的整个应用程序都崩溃了。谁能指出出了什么问题,我该如何纠正?
我在这里错过了什么?
更新:如果我执行 request.Headers["Host"].ToString()
我会得到带有端口的完整主机,即 201.121.152.168:68
最佳答案
我假设您的支持团队已将防火墙上的端口 68 修补为在内部指向 80。因此,从您的服务器的角度来看,请求来自端口 80。可能是这种情况吗?
据我所知,UrlReferrer 会为您提供正确的端口,因为它是从浏览器发送的(浏览器看到的是带有端口 68 的 url)。
关于c# - Request.Url.Port 给出了错误的端口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7768232/