HttpContext.Current.Request.Url返回127.0.0.1的原因是什么?

5

在运行于以下URL的Visual Studio中进行调试 http://localhost:39452/ 时,我得到了以下属性的值:http://127.0.0.1

 HttpContext.Current.Request.Url

我的hosts文件里面的值是这样的:http://localhost:39452/,现在我们需要修改它。

::1  localhost

你能告诉我在这里我做错了什么吗?


1
localhost127.0.0.1 - Dave Zych
另外,39452是服务器正在侦听的端口,而不是客户端使用的端口。HttpContext.Current.Request.Url从不包括端口号,因此您得到了正确的值。 - itsme86
1
@itsme86,我认为URL应该包含端口号。 - nothrow
2个回答

8

也许您尝试过早地获取 HttpContext.Current.Request.Url 值。

例如,在 HttpModuleInit 事件期间,您可能会遇到此类问题。我的意思是,您可能会得到 http://127.0.0.1/myApp 而不是正确的值 http://localhost/myApp


4

两者都是本地地址;::1 是 IPv6 版本的简写,而 127.0.0.1 是 IPv4 版本。

我猜测你认为自己做错了什么,这可能是你唯一做错的事情!:)


1
是的,但 HTTP 的默认端口是 80,而不是 39452,因此 URI 也应包含端口号。 - nothrow

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接