簡體   English   中英

如何在 .NET 6 Web API 中獲取請求的主機名

[英]How to get the request's host name in .NET 6 Web API

我嘗試過使用 HttpContext.Request.Host.Host,但它返回的是 Web API 自己的主機名,而不是請求 URI 的主機名。 換句話說,我需要客戶端的主機名。

For example if I make a request from example.example.com to my APÌ located at api.api.com, HttpContext.Request.Host.Host will return "api.api.com".

這與我的配置有關還是有意為之?

您可以使用以下方式獲取連接信息:

HttpContext.Request.HttpContext.Connection

特別是 IP 地址:

HttpContext.Request.HttpContext.Connection.RemoteIpAddress

連接信息文檔: https://docs.microsoft.com/en-us/dotnet/api/microsoft.aspnetcore.http.connectioninfo?view=aspnetcore-6.0

在請求標頭中,您可以找到兩個相關的屬性originreferer

要獲取 url 的主機(如引用者或來源),只需將 url 提供給 Uri 構造函數: Uri uri = new Uri(url) 您會在 uri object: uri.Host上找到主機作為屬性。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM