客户的IT使用Squid-Proxy过滤请求的User-Agent决定的外部请求。显然是用户代理请求代理。
我使用URL.openConnection()和生成的HttpURLConnection:
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestProperty("User-Agent", "Test");
现在,对于HTTP-URL,这没有问题,因为对代理的请求与目标服务器的请求相同。但是使用HTTPS-URL,Java会在没有User-Agent的情况下向代理创建CONNECT请求。
如何设置CONNECT请求的User-Agent?
注意:这是从servlet内部完成的,因此通过http.agent-setting设置user-agent会为Tomcat中的所有servlet设置它,它应该使用不同的User-Agents。