「java取服务器ip」java怎么获取服务器ip
今天给各位分享java取服务器ip的知识,其中也会对java怎么获取服务器ip进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、java中如何获取到本机的外网ip地址?
- 2、java编程,获取局域网内服务器端的ip地址
- 3、java里面如何获取服务器的ip地址,帮帮忙
- 4、java 怎么写一个接口 让他返回服务器的动态IP地址和端口?
- 5、java 调用接口获取服务器IP和端口号?
- 6、JAVA怎么获取服务器IP
java中如何获取到本机的外网ip地址?
java获取本机的外网ip示例:
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
* 获取本机外网IP地址
* 思想是访问网站,得到返回的文本后解析出本机在外网的IP地址
* @author pieryon
*
*/
public class ExternalIpAddressFetcher {
// 外网IP提供者的网址
private String externalIpProviderUrl;
// 本机外网IP地址
private String myExternalIpAddress;
public ExternalIpAddressFetcher(String externalIpProviderUrl) {
this.externalIpProviderUrl = externalIpProviderUrl;
String returnedhtml = fetchExternalIpProviderHTML(externalIpProviderUrl);
parse(returnedhtml);
}
/**
* 从外网提供者处获得包含本机外网地址的字符串
* 从返回的字符串如下
* htmlheadtitleCurrent IP Check/title/headbodyCurrent IP Address: 123.147.226.222/body/html
* @param externalIpProviderUrl
* @return
*/
private String fetchExternalIpProviderHTML(String externalIpProviderUrl) {
// 输入流
InputStream in = null;
// 到外网提供者的Http连接
HttpURLConnection httpConn = null;
try {
// 打开连接
URL url = new URL(externalIpProviderUrl);
httpConn = (HttpURLConnection) url.openConnection();
// 连接设置
HttpURLConnection.setFollowRedirects(true);
httpConn.setRequestMethod("GET");
httpConn.setRequestProperty("User-Agent",
"Mozilla/4.0 (compatible; MSIE 6.0; Windows 2000)");
// 获取连接的输入流
in = httpConn.getInputStream();
byte[] bytes=new byte[1024];// 此大小可根据实际情况调整
// 读取到数组中
int offset = 0;
int numRead = 0;
while (offset bytes.length
(numRead=in.read(bytes, offset, bytes.length-offset)) = 0) {
offset += numRead;
}
// 将字节转化为为UTF-8的字符串
String receivedString=new String(bytes,"UTF-8");
// 返回
return receivedString;
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
in.close();
httpConn.disconnect();
} catch (Exception ex) {
ex.printStackTrace();
}
}
// 出现异常则返回空
return null;
}
/**
* 使用正则表达式解析返回的HTML文本,得到本机外网地址
* @param html
*/
private void parse(String html){
Pattern pattern=Pattern.compile("(\\d{1,3})[.](\\d{1,3})[.](\\d{1,3})[.](\\d{1,3})", Pattern.CASE_INSENSITIVE);
Matcher matcher=pattern.matcher(html);
while(matcher.find()){
myExternalIpAddress=matcher.group(0);
}
}
/**
* 得到本机外网地址,得不到则为空
* @return
*/
public String getMyExternalIpAddress() {
return myExternalIpAddress;
}
public static void main(String[] args){
ExternalIpAddressFetcher fetcher=new ExternalIpAddressFetcher("");
System.out.println(fetcher.getMyExternalIpAddress());
}
}
java编程,获取局域网内服务器端的ip地址
socket.connect(new InetSocketAddress(ip, port), timeout)
看有没有抛异常 没异常就是已经连接上了
想获取服务器名称 可以用ARP协议 或者测试连接的时候服务器回应一个名称
package baiduzhidao;
import java.io.IOException;
import java.net.InetSocketAddress;
import java.net.Socket;
public class Client {
public static void main(String[] args) {
/**
* 端口号
*/
int port = 10000;
/**
* 连接延时
*/
int timeout = 300;
System.out.println("Scanner Start...");
Socket socket;
/**
* 扫描
*/
for (int i = 1, k = 254; i k; i++) {
if ((socket = isOnLine("192.168.1." + i, port, timeout)) != null) {
System.out.println("Server:"
+ socket.getInetAddress().getHostAddress()
+ ":" + socket.getPort() + " Is Waiting...");
}
/**
* 关闭连接
*/
if (socket != null !socket.isClosed()) {
try {
socket.close();
} catch (IOException e) {
socket = null;
}
}
}
System.out.println("Scanner end...");
}
/**
* 测试连接服务器,返回连接成功后的Socket
*
* @param ip
* 服务器Ip
* @param port
* 服务器端口号
* @param timeout
* 连接延时
* @return 返回连接成功后的Socket
*/
private static Socket isOnLine(String ip, int port, int timeout) {
Socket socket = new Socket();
try {
socket.connect(new InetSocketAddress(ip, port), timeout);
} catch (IOException e) {
return null;
}
return socket;
}
}
java里面如何获取服务器的ip地址,帮帮忙
获取本机ip地址
InetAddress addr = InetAddress.getLocalHost();
ip=addr.getHostAddress().toString;
java 怎么写一个接口 让他返回服务器的动态IP地址和端口?
首先服务器IP是动态的,这个接口还怎么访问呢?
所以,应该是要请求一个固定可访问的接口,然后这个接口去访回动态的其他服务器IP和端口,而这端口和IP是没办法在本机获取,需要在想要被访问的程序启动时,将其IP和端口写入共享区域(数据库,共享内存等),固定的获取接口根据条件获取动态IP和端口。
java 调用接口获取服务器IP和端口号?
package test5;
public interface A {
void setAll(int ID,String IP);
String getAll();
}
package test5;
public class B implements A{
String IP;
int ID;
public void setAll(int ID,String IP) {
this.ID=ID;
this.IP=IP;
}
public String getAll() {
return "ID为: "+ID+"\t\t"+"IP为: "+IP;
}
public static void main(String[] args) {
B b=new B();
b.setAll(1, "192.168.1.1");
System.out.println(b.getAll());
}
}
JAVA怎么获取服务器IP
首先IP为一个字符串,例如:
class test{
static void Split(string ip,out string str1)
{
int i=ip.length;
while(i0)
{
char ch=ip[i-1];
if(ch==':')
break;
i--;
}
str1=ip.Substring(0,i);
}
static void Main()
{
string str1;
Split("192.168.0.255:8080",out str1)
Console.WriteLine("{0}",str1);
}
}
str1中保存的就是你的ip,192.168.0.255
关于java取服务器ip和java怎么获取服务器ip的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。