java - 如何通过java程序通过代理连接网站

标签 java proxy

我正在尝试创建一个计算机化的机器人,通过 HTTP 连接通过不同的 IP(主要是通过代理)访问特定网站。

我根据以下代码创建了脚本

System.getProperties().put( "proxySet", "true" );
System.setProperty("http.proxyHost", "<PROXY IP>");
System.setProperty("http.proxyPort", "<PORT>");

ourURL = new URL("<TARGET WEBSITE>");
huc = (HttpURLConnection) ourURL.openConnection();
huc.setRequestMethod("GET");

但是上面代码中的问题是,当我检查引用网址时,它只需要我的公共(public) IP,而不需要代理 IP。有人可以帮我解决这个问题吗?

最佳答案

从 java 1.5 开始,您需要在 openConnection 之前使用类似于下面的代码进行代理:

System.setProperty("http.proxyHost", "proxy.****.com");
System.setProperty("http.proxyPort", "####");
 Authenticator authenticator = new Authenticator() {
                public PasswordAuthentication getPasswordAuthentication() {
                    return (new PasswordAuthentication("user",
                            "pwd".toCharArray()));
                }
            };
Authenticator.setDefault(authenticator);

关于java - 如何通过java程序通过代理连接网站,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23422300/

相关文章:

java - JestResult.getSourceAsObjectList - 适用于 "@timestamp"或看似以 "@"开头的任何字段

java - 我如何完成 Activity 'B' 并返回到 Activity 'A' ?

docker - 最佳 Kubernetes Nginx 架构

java - Spring 中的作用域代理是什么?

java - 注入(inject)功能的方式(类似于动态代理但侵入性较小)

proxy - Electron 代理

java - 尝试创建代理对象时出现 ClassCastException

java - 如何从未排序的 x/y 坐标数组中查找直线

java - 通过JNA从Java程序访问dll文件的问题

java - 构建错误(将字节码转换为 dex 时出错)