Tod*_*ier 5 c# http dotnet-httpclient
考虑以下代码:
if (request.Headers.Contains(headerName))
...
Run Code Online (Sandbox Code Playgroud)
其中request是System.Net.Http.HttpRequestMessage的实例.headerName相当随意; 我们假设它来自用户输入.如果它的值恰好是"Content-Type",则抛出异常:
System.InvalidOperationException:未使用的标头名称.确保请求标头与HttpRequestMessage一起使用,响应标头与HttpResponseMessage一起使用,内容标头与HttpContent对象一起使用.
我究竟如何"确定"这一点?该Headers集合在内部知道允许哪些标题名称,并且此列表request.Headers与其不同request.Content.Headers.看来我有2个选项来验证任意字符串:
这些方法都不是理想的.有没有办法利用已经包含的知识System.Net.Http来执行此验证?