我有一个允许用户下载文件的RESTFul Web服务。用户将发送带有几个HTTP请求标头的请求,以指定要下载的文件。
但是,我发现http请求标头会自动修剪,例如,如果用户发送标头值 - “a”,结尾有空格,它将被修剪,因此值变为“a” 。如何防止修剪值?
下面是我的代码是检索每个标头值:
string filename = context.IncomingRequest.Headers["filename"];
context
指的是WebOperationContext
类
答案 0 :(得分:0)
为什么不直接阅读原始请求并提取您需要的内容?
Request.InputStream.Position = 0;
var input = new StreamReader(Request.InputStream).ReadToEnd();
答案 1 :(得分:0)
根据rfc2616 specification(HTTP 1.1 - 第31页)
"领先或尾随LWS可能是 删除而不更改字段值的语义。"
不幸的是,我不知道http软件没有这样做。例如,请参阅此评论 - > cURL