宿主机开了 vpn ,可以访问 google
测试类
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import java.net.URLConnection;
public class Test {
public static void main(String[] args) throws IOException {
URL url = new URL("https://www.google.com");
URLConnection connection = url.openConnection();
connection.connect();
InputStream inputStream = connection.getInputStream();
byte[] bytes = new byte[1024];
while (inputStream.read(bytes) >= 0) {
System.out.println(new String(bytes));
}
}
}
编译后执行
java Test
结果是能正常访问到 google ,但是在 shell 中 ping google 是没法通的
明明查资料,要给程序设置代理才能访问 google ,也就是下面这样才能访问到
java -Dhttp.proxyHost=127.0.0.1 -Dhttp.proxyPort=7890 -Dhttps.proxyHost=127.0.0.1 -Dhttps.proxyPort=7890 Test
java 程序是默认就会走本机的代理吗,不需要额外设置?
1
AoEiuV020CN 2021-12-23 14:45:14 +08:00
没有复现,你的 vpn 如果是数据链路层的 vpn 的话是不需要配置代理的,
|
2
Kasumi20 2021-12-23 14:54:48 +08:00
VPN 代理 ICMP 流量吗?
|
3
wangyu17455 2021-12-23 14:58:38 +08:00
java 不默认走本地代理,vpn 和 http/socks 代理不能一概而论,你宿主机的 vpn 主动接管了流量所以你访问 google 是通的。
|
4
zhongpingjing OP @Kasumi20 看了只代理了 http 跟 sock
|
5
zhongpingjing OP @wangyu17455 en ,是 http/sock 代理
|
6
chengyiqun 2021-12-24 11:47:32 +08:00
就这么说吧, 和很多 steam 游戏一样, 默认不走 sock 和 http 代理.
如果你的 vpn 有虚拟网卡, 那么就是全局代理了. 可以用 SSTap-beta-setup-1.0.9.7(就用这个版本, 更新的版本就别用了) ![image.png]( https://tupian.li/images/2021/12/24/image.png) sstap 规则 https://cleanery.lanzoup.com/i8Qznxxaxrg 密码:77ge |
7
zhongpingjing OP @chengyiqun 感谢回复,不过我不是要玩游戏哈
|