日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

Asp.Net Core获取请求信息/获取请求地址

發布時間:2023/12/18 asp.net 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Asp.Net Core获取请求信息/获取请求地址 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?一、Asp.Net Core 2.0版本中目前HttpRequest是個抽象類

在控制器或視圖上下文中獲取到的 Request對象,是 DefaultHttpRequest的實例。

定義 如圖 :

二、常用屬性說明:

1.獲取請求 協議:Request.Protocol,目前多數是http1.0

2.獲取url的Scheme:Request.Scheme

3.獲取域名+版本號 :Request.Host

4.獲取請求路徑,不含有參數 和錨點:Request.Path? ,基礎路徑Request.BasePath

5.獲取請求參數部分 ,不含有錨點 :Request.QueryString

6.獲取請求頭信息:Request.Headers

三、其他需求整理

1.獲取請求參數錨點,目前沒 找到 可用 方法

2.獲取完整的請求地址,可以 通過擴展方法自定義處理

public static class HttpRequestExtensions {public static string GetAbsoluteUri(this HttpRequest request){return new StringBuilder().Append(request.Scheme).Append("://").Append(request.Host).Append(request.PathBase).Append(request.Path).Append(request.QueryString).ToString();} }

3.獲取 請求頭信息展示示例:

<pre>獲取請求頭:@{ string json=Newtonsoft.Json.JsonConvert.SerializeObject(this.Context.Request.Headers,Newtonsoft.Json.Formatting.Indented);this.WriteLiteral(json);} </pre>

?

四 、獲取客戶端IP地址

在ASP.NET中,使用負載均衡時,可以通過ServerVariables獲取客戶端的IP地址。

var ip = request.ServerVariables["HTTP_X_FORWARDED_FOR"];

?

但在ASP.NET Core中沒有ServerVariables的對應實現,需要換一種方式,可以在HttpContext.Request.Headers中獲取,需要注意的是key與ServerVariables方式不一樣,ServerVariables中是"HTTP_X_FORWARDED_FOR",HttpContext.Request.Headers中是"X-Forwarded-For",示例代碼如下:

var ip = context.Request.Headers["X-Forwarded-For"].FirstOrDefault();

完整的擴展方法實現如下:

public static class HttpContextExtension {public static string GetUserIp(this HttpContext context){var ip = context.Request.Headers["X-Forwarded-For"].FirstOrDefault();if (string.IsNullOrEmpty(ip)){ip = context.Connection.RemoteIpAddress.ToString();}return ip;} }

?

?

更多:

Asp.Net Core 靜態文件目錄操作

Asp.Net Core Web相對路徑、絕對路徑整理

Asp.Net Core 文件上傳處理

轉載于:https://www.cnblogs.com/tianma3798/p/7763688.html

總結

以上是生活随笔為你收集整理的Asp.Net Core获取请求信息/获取请求地址的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。