繁体   English   中英

ASP.NET Web API:更改请求标头

[英]ASP.NET Web API: Change Request Headers

我无法控制的JavaScript客户端正在将错误的HTTP请求标头发送到我的Web API服务。 更具体地说,它使用的是发送错误OData标头的库。

有什么方法可以在HTTP请求到达我的服务之前对其进行拦截? 我可以添加/删除/更新标题或查询字符串信息吗?

例如,如果我收到以下HTTP标头:

GET /Some/API HTTP/1.1
Host: myhost.com:80
MaxDataServiceVersion: 2.0

在OData库接管之前,我想知道如何将其修改为以下内容:

GET /Some/API HTTP/1.1
Host: myhost.com:80
MaxDataServiceVersion: 4.0

标头不正确。 您的客户端希望使用OData v2服务,即使您确实操作了标头,它也可能无法理解服务器的响应。

但是,如果您确实想尝试该路由,则可以使用简单的HTTP代理重写标头。

如果这样做,请确保OData服务器支持Atom格式,因为OData JSON格式在版本2和版本4之间已完全更改,因此JavaScript客户端将无法理解它。 Atom格式也发生了变化,但是如果客户端的解析器过于宽松,它可能会起作用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM