页面可通过 firefox 中的透明代理访问,但不能来自 java post 请求

page accessible through transparent proxy in firefox, but not from a java post request

我正在尝试从 this website 收集一些数据,问题是该站点只接受来自阿尔及利亚 IP 地址的请求,而且我发现的唯一基于阿尔及利亚的代理是透明的。

现在,当我在 firefox 中设置此代理时,我能够看到正确的表单,但是当我尝试使用从 java class 设置的代理请求该页面时,它给了我 "requested URL was rejected. Please consult with your administrator" 消息。

这是我用来连接页面的代码(代理的地址和端口在代码中,想自己尝试的人):

private static final String RESULT_URL = "http://bem.onec.dz/index.php";
private static String PROXY_AD = "193.194.87.226";
private static int PROXY_PORT = 8080;
Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress(
                    PROXY_AD, PROXY_PORT));
URL url = new URL(adress);
URLConnection conn = url.openConnection(proxy);
conn.setDoOutput(true);

/* posting the request and reading the response */

我也试过给整个系统设置代理,同样的问题。

解决方案是为请求提供一个浏览器用户代理而不是默认用户代理,因为页面使用基于此的过滤。