我向运行在IIS中的本地网站提出以下请求
var httpRequestMessage = new HttpRequestMessage();
httpRequestMessage.RequestUri = new Uri("http://localhost:8081/");
httpRequestMessage.Method = HttpMethod.Get;
var response = new HttpClient().SendAsync(httpRequestMessage).Result;
这将生成以下响应头:
HTTP/1.1 200 OK
Accept-Ranges: bytes
Date: Mon,03 Jun2013 22:34:25GMT
ETag:"50c7472eb342ce1:0"
Server: Microsoft-IIS/8.0
X-Powerd-By: ASP. NET
通过Fiddler发出的相同请求会产生以下响应头(我强调了不同之处):
HTTP/1.1 200 OK
Content-Type: text/html
最后修改:Fri,26 Apr2013 19:20:58GMT
Accept-Ranges: bytes
ETag:"50c7472eb342ce1:0"
Server: Microsoft-IIS/8.0
X-Powerd-By: ASP. NET
Date: Mon,03 Jun2013 22:29:34GMT
内容长度: 10
为什么响应标题会有所不同
我是否正确使用了HttpClient(除了我正在同步调用Send之外)?
TL; DR;
要访问所有响应标头,您需要同时阅读HttpResseMessage。报头和报头。内容。标头
属性。
长答:
这,基本上:
var response = new HttpClient().GetAsync("http://uri/").Result;
var allHeaders = response.Headers.Union(response.Content.Headers);
foreach (var header in allHeaders)
{
// do stuff
}
我认为这有两个问题:
Headers
属性的命名不正确:它实际上应该是SomeHeaders
或AllHeadersExceptContentHeaders
。(我的意思是,真的,当你看到一个名为Headers
的属性时,你希望它返回所有的头还是一些头?我很确定它们违反了它们自己的框架设计准则。)
问题内容: 我在使用ngResource调用Amazon Web Services上的REST API时遇到此错误: XMLHttpRequest无法加载 http://server.apiurl.com:8000/s/login?login=facebook。对预检请求的响应未通过访问控制检查:在所请求的资源上不存在“ Access-Control-Allow-Origin”标头。因此,不允许访
我如何才能为并行请求获得相同的性能?这是线程池问题吗?
我正在尝试进行第三方授权。当我向服务器发送一个POST请求时,它会发送HTML作为响应。
问题内容: 我在使用ngResource调用Amazon Web Services上的REST API时遇到此错误: XMLHttpRequest无法加载http://server.apiurl.com:8000/s/login?login=facebook。对预检请求的响应未通过访问控制检查:请求的资源上不存在“Access-Control-Allow-Origin”标头。因此,不允许访问源“h
概述 Django 使用Request 对象和Response 对象在系统间传递状态。 当请求一个页面时,Django会建立一个包含请求元数据的 HttpRequest 对象。 当Django 加载对应的视图时,HttpRequest 对象将作为视图函数的第一个参数。每个视图会返回一个HttpResponse 对象。 本文档对HttpRequest 和HttpResponse 对象的API 进行说
在SpringMVC项目中,客户机发送一个带有序列化对象的请求,客户机本身是一个小程序,所以它不希望收到一个web页面作为响应,而是一个带有字符串对象的响应,该响应将告诉他这是成功还是失败。那么解决方案是什么呢?我想在@Controller中使用返回void的方法,或者返回不存在页面的方法?(在这两种情况下,我还想知道是否有回复给客户)