我试图改进Java Html文档,但我遇到了HttpUrlConntion
的问题。有一点是,如果用户代理是Java VM,某些服务器会阻止请求。另一个问题是HttpUrlConnection
未设置Referrer
或Location
标头字段。由于几个站点使用这些字段来验证内容是从他们自己的站点访问的,因此我也被阻止了。据我所知,唯一的解决方案是替换HTTP协议的URL处理程序。或者有没有办法修改默认的HTTP Handler?
答案 0 :(得分:42)
使用URL
打开URL.openConnection
。可选择转换为HttpURLConnection
。致电URLConnection.setRequestProperty
/ addRequestProperty
。
默认的User-Agent标头值是从"http.agent"
系统属性设置的。 PlugIn和WebStart允许您设置此属性。
答案 1 :(得分:2)
如果您使用Apache HttpClient来管理您的程序化HTTP连接,您将获得一个非常有用的API,它可以创建连接(以及可选的自动重新连接失败),设置标题,帖子与获取,方便的方法来检索返回内容等等。
答案 2 :(得分:0)
我解决了我的问题。我们可以将头部发送到application / json并将主体作为json对象传递。这只是解决了这个问题。