Java IP地址代理

Posted

技术标签:

【中文标题】Java IP地址代理【英文标题】:Java ip address proxy 【发布时间】:2012-02-05 00:53:50 【问题描述】:

我在 vista 笔记本电脑上配置了 open*** Connect,因此通过网络浏览器连接可以让计算机更改其 IP 地址。允许以下 java 中的网络代码使用这个新的 ip 地址需要哪些步骤:

  import java.net.*;

  public class A
 
    public static void main(String[] args)throws Exception
    
       InetAddress kj=InetAddress.getLocalHost();
       System.out.println(kj.getHostAddress());


     

 

从命令提示符运行 ipconfig: 以太网适配器本地连接 2:

连接特定的 dns 后缀: 链路本地 IPv6 地址....:fe80::adde(ect...) IPv4 地址............(5.5.32.x) 子网掩码....(255.255.0.0) 默认网关.....:

以太网适配器本地连接: 连接特定的 DNS 就足够了 .: (ect...) 链接本地 IPv6 地址 ...: fe80::8177:a91b:(ec...) IPv4 地址......:(76.181.x.x) 子网掩码.....:255.255.224.0 默认网关....(一些ip与上面的ipv4地址不同)

【问题讨论】:

【参考方案1】:

您可以通过这种方式获取本地机器的所有IP地址:

String hostName = InetAddress.getLocalHost().getHostName();
InetAddress addrs[] = InetAddress.getAllByName(hostName);

您需要一种方法来确定哪些 IP 地址用于 ***。通常,*** 会为您提供可以检测到的已知地址范围(例如 10.19.10.x)。

如果您连接到 ***,然后从命令行运行 ipconfig,将输出粘贴到此处,我们或许可以帮助您确定要匹配的模式。

【讨论】:

一旦我看到 *** 模式我会在哪里使用它,获取上面的代码以从上面的本地连接 2 打印出 ipv4 地址? 您应该从您的 ipconfig 输出中绑定多个 IP 地址,这是您感兴趣的 IPv4 地址 - 对于每个 v4 IP,确定它的用途(您的 LAN、本地主机、*** 等)。当您知道您的 *** IP 可能是什么(例如 10.x.x.x)时,您可以遍历我的答案中的 addrs[],寻找匹配的 InetAddress。 那么在java中使用那个***地址作为URLConnection怎么样,这可能吗? 取决于你想要做什么——我不明白你想用这些信息达到什么目的,所以我无法评论数据是否相关。不过,我相信以上是您问题的答案。 好的,谢谢,如果我要执行以下操作,我希望能够看到 *** 地址:HttpURLConnection x=(HttpURLConnection)new URL("google.com/search?sclient=psy-ab&h1 =en&site=&source=hp&q=ip%20address&btnG=Search").openConnection();然后打开一个iput流,读进去,在页面中看到其中一个***地址,在html后面:“Your public IP address is”。

以上是关于Java IP地址代理的主要内容,如果未能解决你的问题,请参考以下文章

Java获取请求客户端的真实IP地址

多级反向代理下,Java获取请求客户端的真实IP地址多种方法整合

多级反向代理下,Java获取请求客户端的真实IP地址多中方法整合

获取请求主机IP地址,如果通过代理进来,则透过防火墙获取真实IP地址;

Java获取客户端IP

怎样设置IP地址代理