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地址多中方法整合