在 webapi 方法中获取主机名



我想将网站网址获取到我的webapi方法中。例如我的网站名称是 abc.com,我的 API 方法 URL 是 xyz.com/getdetails?a=1现在在我的 WebAPI 控制器上,我想获取 abc.com URL 以从调用此方法中识别。

您将获得一些完整的信息以及托管 api 的端口。但是您需要添加System.Web才能使其正常工作。

HttpContext.Current.Request.Url.Scheme + "://" + HttpContext.Current.Request.Url.Authority + HttpContext.Current.Request.ApplicationPath.TrimEnd('/');
我相信

你需要引用 URL。

Request.UrlReferrer

试试这个:

HttpContext.Current.Request.UserHostName;

HttpContext.Current.Request.UserHostAddress;

不要忘记添加using System.Web; .

如果您不使用 OWIN,则

HttpContext.Current.Request.Url.Host

那是在System.Web命名空间中

如果您使用的是 OWIN 并且没有使用提供经典 asp.net HttpContextMicrosoft.Owin.Host.SystemWeb nuget 包,也可以从 OWIN 上下文中获取它,如下所示:

Request.GetOwinContext().Request.Host.Value

GetOwinContext 扩展函数由 Microsoft.AspNet.WebApi.Owin nuget 包提供。

最新更新