26

我试图稍微改进 Java Html 文档,但我遇到了HttpUrlConntion. 一件事是,如果用户代理是 Java VM,某些服务器会阻止请求。另一个问题是HttpUrlConnection没有设置ReferrerorLocation头字段。由于几个站点使用这些字段来验证内容是从他们自己的站点访问的,因此我也被阻止在这里。据我所知,唯一的解决方案是替换 HTTP 协议的 URL 处理程序。或者有什么办法可以修改默认的 HTTP Handler?

4

3 回答 3

42

用. URL_ URL.openConnection可选择转换为HttpURLConnection. 呼叫URLConnection.setRequestProperty/ addRequestProperty

默认的 User-Agent 标头值是从"http.agent"系统属性中设置的。PlugIn 和 WebStart 允许您设置此属性。

于 2009-01-26T15:39:07.010 回答
2

如果您使用Apache HttpClient来管理您的编程 HTTP 连接,您将获得一个非常有用的 API,它可以创建连接(以及可选的失败时自动重新连接)、设置标题、帖子与获取、检索返回内容的便捷方法等等.

于 2009-01-26T16:31:36.390 回答
0

我解决了我的问题。我们可以将标头发送到 application/json 并将正文作为 json 对象传递。这简单地解决了问题。

于 2015-07-10T05:01:10.207 回答