繁体   English   中英

使用java时检测到代理

[英]proxy detected when using java

我检查了这个页面,并获得了一些有用的代码,用于在连接到网页时在java代码中使用代理。

我可以确认像whatsmyip这样的页面确实告诉我代理正在运行 - 它显示代理ip。 问题是我在java代码中访问的页面以某种方式检测到我的真实IP和阻止内容。 我知道它是如何做到的(标题,返回IP等),我不知道的是如何绕过它。

也许另一个有趣的事情是,这个页面使用1个最知名的在线代理网站没有问题 - 它显示内容。 现在更有趣的是,我尝试将那些网站ip用作我的程序中的代理,但它没有用 - 真正的ip被检测到,这真的很奇怪。

编辑:这是我的新代码:

System.setProperty("java.net.useSystemProxies","false");
    System.setProperty("http.proxyHost", "94.230.208.147");                                      
    System.setProperty("http.proxyPort", "9001");   
    System.setProperty("http.nonProxyHosts", "localhost|127.0.0.1");    

    System.setProperty("https.proxyHost", "94.230.208.147");                                      
    System.setProperty("https.proxyPort", "9001");   
    System.setProperty("https.nonProxyHosts", "localhost|127.0.0.1");

我可以确认https://whatsmyip.com/没有被这个代理愚弄,可以看到我真正的IP。 我忘了包括什么?

在代码末尾添加:

System.setProperty("http.nonProxyHosts", "localhost|127.0.0.1");

这表示应该在不通过代理的情况下访问的主机。 通常,这定义了内部主机。 此属性的值是主机列表,以“|”分隔 字符。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM