看看这个:
WebClient client = new WebClient();
WebRequestSettings wrs = new WebRequestSettings(new URL("http://stackoverflow.com/ping/?what-the-duck?"), HttpMethod.HEAD);
client.getPage(wrs);
运行此代码会导致抛出 FileNotFoundException,因为页面上的 HTTP 状态代码为 404 ,并使用 GET 方法再次获取相同的页面,并将 User-Agent 设置为Java-...
。为什么它会获取页面(“正常”状态代码不会发生)?这是一个错误吗?谢谢
这是整个服务器响应:
HTTP/1.1 404 Not Found
Cache-Control: private
Content-Length: 7502
Content-Type: text/html; charset=utf-8
Server: Microsoft-IIS/7.5
Date: Thu, 11 Feb 2010 14:12:11 GMT
它在哪里告诉客户获取一些东西?以及如何强制 WebClient 忽略它?
这是 HTTPDebugger 的屏幕截图:
这里的问题是我不明白为什么要发送第二个请求以及为什么要使用不同的用户代理发送它。