Request.url.absoluteuri asp.net 不起作用



我正在尝试获取当前网页的网址。

我正在将 asp.net 与 MVC 一起使用。

当我调试代码时,请参见下文,当前Uri值为 https://localhost:44377/。真的应该 https://www.google.ca/。请帮忙。

public class HomeController : Controller
{
public ActionResult Index()
{
Response.Redirect("https://www.google.ca/", true);
string currentUri = HttpContext.Request.Url.AbsoluteUri;
return View();
}
}

Request.Url是服务器本身看到的当前请求的URL。用户在浏览器中使用的 url 没有必要查看页面(大多数站点在服务器和用户之间有一个或多个"代理"层(,并且绝对不会在响应时设置该 url 以呈现为 30 倍重定向的目的地。

如果您在本地调试,则几乎可以保证Request.Urllocalhost。使用 IIS + hosts 文件,您可以分配本地 DNS 名称,但这仍然是请求的 url,并且不能通过服务器代码更改(仅配置服务器实际接收 url 的方式(。

返回的 url 属于调用函数 HttpContext.Request.Url.AbsoluteUri 的位置。在这种情况下,来自位于本地计算机 https://localhost:44377/中运行的家庭控制器上的 Index((。 网站 https://www.google.ca/是您的代码无法访问的另一个网站。

最新更新