阻止HTTP请求标头修剪

时间:2016-11-14 09:41:55

标签: c# .net visual-studio http-headers httprequest

我有一个允许用户下载文件的RESTFul Web服务。用户将发送带有几个HTTP请求标头的请求,以指定要下载的文件。

但是,我发现http请求标头会自动修剪,例如,如果用户发送标头值 - “a”,结尾有空格,它将被修剪,因此值变为“a” 。如何防止修剪值?

下面是我的代码是检索每个标头值:

string filename = context.IncomingRequest.Headers["filename"];

context指的是WebOperationContext

2 个答案:

答案 0 :(得分:0)

为什么不直接阅读原始请求并提取您需要的内容?

Request.InputStream.Position = 0;
var input = new StreamReader(Request.InputStream).ReadToEnd();

答案 1 :(得分:0)

根据rfc2616 specification(HTTP 1.1 - 第31页)

  

"领先或尾随LWS可能是      删除而不更改字段值的语义。"

不幸的是,我不知道http软件没有这样做。例如,请参阅此评论 - > cURL