java获取公网ip地址
时间: 2023-11-10 11:21:27 浏览: 53
你可以通过访问一个外部网站来获取当前机器的公网IP地址,代码实现如下:
try {
URL url=new URL("http://www.ip138.com/ip2city.asp");
BufferedReader reader=new BufferedReader(new InputStreamReader(url.openStream()));
String line=reader.readLine();
StringBuffer buffer=new StringBuffer();
while(line!=null){
buffer.append(line);
line=reader.readLine();
}
// 从页面中提取出IP地址
int start=buffer.indexOf("[")+1;
int end=buffer.indexOf("]");
String ipAddress=buffer.substring(start,end);
System.out.println("IP地址是:"+ipAddress);
} catch (Exception e) {
System.out.println("获取IP地址时出现异常,异常信息是:"+e.getMessage());
}
请注意:本回答仅供技术交流,如有任何法律问题请咨询专业律师。
相关问题
java 获取当前公网ip代码
以下是Java获取当前公网IP的示例代码:
```java
import java.net.*;
import java.io.*;
public class PublicIP {
public static void main(String[] args) throws Exception {
URL url = new URL("http://checkip.amazonaws.com/");
BufferedReader br = new BufferedReader(new InputStreamReader(url.openStream()));
String publicIP = br.readLine();
System.out.println("Your public IP address is: " + publicIP);
}
}
```
该代码利用 Amazon Web Services 的 checkip 服务获取当前公网IP地址。通过将该地址与 URL 类一起使用,我们可以从该服务中读取公网IP地址并将其打印到控制台中。
Java获取linux本机公网IP
您可以使用以下代码来获取Linux本机的公网IP地址:
```java
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.URL;
public class GetPublicIP {
public static void main(String[] args) {
try {
URL url = new URL("http://checkip.amazonaws.com/");
BufferedReader br = new BufferedReader(new InputStreamReader(url.openStream()));
String publicIP = br.readLine().trim();
System.out.println("Public IP Address: " + publicIP);
br.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
```
这段代码中,我们使用了 Amazon AWS 提供的一个服务来获取公网IP地址。它会返回一个包含公网IP地址的文本响应,我们通过读取该响应来获取IP地址。
请注意,为了能够成功获取公网IP地址,您的Linux服务器需要能够访问互联网。