c# - 如何在 ApiController 的方法中获取所有请求头列表
问题描述
我想从请求的 API 方法中获取所有请求标头及其值。 预期的输出字符串如下:
*Cache-Control:no-cache,
Content-Type:application/json; charset=utf-8,
HEADER_1:HEADER_VAL_1,
HEADER_2:HEADER_VAL_2,
HEADER_3:HEADER_VAL_3*
我试过 Request.Headers.toString() 也试过这个方法的格式输出;
//Code
public class DEMOController : ApiController{
[HttpPost]
public string SaveSomeData(Object data)
{
string headersString = Request.Headers.toString();
}
}
解决方案
string strOutput = "";
string[] TempStringArray;
TempStringArray = Request.Headers.ToString().Split(new char[] { '\r', '\n' });
for(int i = 0; i < TempStringArray.Length; i++)
{
if (!string.IsNullOrEmpty(TempStringArray[i]))
{
if (strOutput == "")
{
strOutput = strOutput + TempStringArray[i] + ",</br>";
}
else
{
strOutput = strOutput + TempStringArray[i] + ",</br>";
}
}
}
HTML 输出:
缓存控制:无缓存, 连接:保持活动状态, 接受: */*, 接受编码:gzip,放气, 主机:本地主机:51161, 用户代理:PostmanRuntime/7.16.3, HEADER_1:HEADER_VAL_1, HEADER_2:HEADER_VAL_2, HEADER_3:HEADER_VAL_3
推荐阅读
- c# - mstest 并行测试中的“工作人员”是否具有唯一 ID?
- flutter - 无法摆脱警告:您安装的 Flutter 已有 90 天的历史。在 AndroidStudio 中构建时
- mysql - 如何检查已部署的应用程序是否可以访问 mysql、rabbitmq 等 kubernetes 服务
- angular - materialize_css__WEBPACK_IMPORTED_MODULE_1__.Carousel 不是构造函数
- r - 如何在 R geom_dotplot 中设置固定的点大小
- c# - 添加 Authorize(Roles = "foo") 在 Azure 身份验证后导致无限重定向
- github - 从 Google Drive 将图像添加到 GitHub Readme.md
- docker - Kubernetes 部署中的 Docker 基础镜像更新
- python - 熊猫fillna出现类型错误
- validation - 以太网验证