如何修改HttpUrlConnection的标头

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

使用URL.openConnection打开URL 。 可选择HttpURLConnectionHttpURLConnection 。 调用URLConnection.setRequestProperty / addRequestProperty

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

如果您使用Apache HttpClient来管理程序化HTTP连接,您将获得一个非常有用的API,它可以创建连接(并且可以在失败时自动重新连接),设置Headers,posts vs gets,检索返回内容的便捷方法等等。

我解决了我的问题。 我们可以将头部发送到application / json并将主体作为json对象传递。 这只是解决了这个问题。