public class NetAddrUtil {
/**
* 从url中分析出hostIP<br/>
* @param url
* @author wull
* @return
*/
public static String getIpFromUrl(String url) {
// 1.判断是否为空
if (url == null || url.trim().equals("")) {
return "";
}

// 2. 如果是以localhost,那么替换成127.0.0.1
if(url.startsWith("http://" + C.Net.LOCALHOST_STR) ){
url = url.replace("http://" + C.Net.LOCALHOST_STR, "http://" + C.Net.LOCALHOST_NUM) ;
}

String host = "";
Pattern p = Pattern.compile("(?<=//|)((\\w)+\\.)+\\w+");
Matcher matcher = p.matcher(url);
if (matcher.find()) {
host = matcher.group();
}
return host;
}

/**
* 从url中分析出hostIP:PORT<br/>
* @param url
* @author wull */
public static IpPortAddr getIpPortFromUrl(String url) {
// 1.判断是否为空
if (url == null || url.trim().equals("")) {
return null;
}

// 2. 如果是以localhost,那么替换成127.0.0.1
if(url.startsWith("http://" + C.Net.LOCALHOST_STR) ){
url = url.replace("http://" + C.Net.LOCALHOST_STR, "http://" + C.Net.LOCALHOST_NUM) ;
}

String host = "";
Pattern p = Pattern.compile("(?<=//|)((\\w)+\\.)+\\w+(:\\d{0,5})?");
Matcher matcher = p.matcher(url);
if (matcher.find()) {
host = matcher.group() ;
}

// 如果
if(host.contains(":") == false){
return new IpPortAddr(host, 80 );
}

String[] ipPortArr = host.split(":");
return new IpPortAddr(ipPortArr[0] , ConfigUtil.parseInt( ipPortArr[1] ));
}

public static void main(String [] args){
String url = "http://10.33.32.81:8080/login.action";
System.out.println(NetAddrUtil.getIpFromUrl(url) );
IpPortAddr addr= NetAddrUtil.getIpPortFromUrl(url) ;
System.out.println(addr.getIp() +"=========>" +addr.getPort() );
}
}

转载于:https://www.cnblogs.com/histlyb/p/7047899.html

JAVA从url中分离ip和port相关推荐

  1. java处理url中的特殊字符%等

    java处理url中的特殊字符(如&,%...) URL(Uniform Resoure Locator,统一资源定位器)是Internet中对资源进行统一定位和管理的标志. 一个完整的URL ...

  2. 截取url中的ip(ipv4和ipv6)

    ipv4的url举例: http://10.19.154.244:6120/pic?xxxxxxxx ipv6的url举例: http://[2007:777:666:0:a00:27ff:fed0: ...

  3. Java对URL中的中文进行UrlEncode转码

    Java对URL中的中文进行UrlEncode urleocode只是为了url中一些非ascii字符,可以正确无误的被传输. 而且有的含有中文或者特殊字符的url不能被识别,因此需要进行Encode ...

  4. Java获取局域网中所有ip和Mac地址

    Java获取局域网中所有ip和Mac地址 定义一个Util public class IpAndMacUtil {/*** 获取本机Mac地址* @param ia* @return* @throws ...

  5. java获取url中参数_获取url参数(java / js)

    (1)js // 获取url参数 function getQueryString(url, name) { console.log("url = " + url) console. ...

  6. 在url中取ip或者键值对、手机号脱敏、电话号脱敏、身份证脱敏、银行卡号脱敏、身份证校验

    赶快收藏起来,以备不时之需~ 取IP let url = 'http://123.234.123.111:80/www/ASRfiles/ts/Server/2021/3/25/1015.mp4'// ...

  7. Java获取URL中的参数

    先获取想要的字段 throws Exception {URL url = new URL("http://www.runoob.com/html/html-tutorial.html?id= ...

  8. java 把URL中的中文转换成utf-8编码

    private static final String QUERY = "餐饮"; String sr = URLEncoder.encode(QUERY); System.out ...

  9. java基础篇---网络编程(IP与URL)

    一:IP与InetAddress 在Java中支持网络通讯程序的开发,主要提供了两种通讯协议:TCP协议,UDP协议 可靠地连接传输,使用三方握手的方式完成通讯 不可靠的连接传输,传输的时候接受方不一 ...

最新文章

  1. 人工智能时代,开发者是逆袭还是走向末日?
  2. 22条API设计的最佳实践
  3. Nginx-1.12.2编译安装
  4. 一个垃圾分类项目带你玩转飞桨(1)
  5. POJ - 4045 Power Station(树形dp/树的重心)
  6. 批量绘制train和test关于特征上的差异
  7. shell查找命令大全
  8. scanner java重新输入_如何使用Scanner Java重复读取用户输入
  9. Java核心类库篇5——异常
  10. matlab之结构体的创建与存储(CSV数据)
  11. 大数据之搭建HDP环境,以三个节点为例(上——部署主节点以及服务)
  12. Mac生成ssh,并添加公钥到Github
  13. btoa java_javascript atob()函数和 btoa()函数-Base64的编码与解码-Go语言中文社区
  14. 不用担心越界,不用中间变量的数值交换
  15. maven install过程
  16. visio破解版安装2013
  17. 软件测试入门理论基础
  18. 微信小程序展示弹窗的方式
  19. 【联盛德W806上手笔记】六、7816/UART 控制器
  20. 百度运维部农场,绿色畅想

热门文章

  1. 手机麦克风结构原理图_麦克风阵列的基本原理、结构组成及声学效果简介
  2. 变量存储list python_Python变量类型(八)
  3. 4.C++深入理解 面向对象部分3
  4. java将数组加上千分号_PHP实现对数字分隔加千分号的方法
  5. 特征提取方法: one-hot 和 TF-IDF
  6. Silverlight 游戏开发小技巧:昼夜交替动画
  7. Win10 IoT C#开发 1 - Raspberry安装IoT系统及搭建开发环境
  8. 设计模式(十)外观模式
  9. SQL SERVER 锁定的实例
  10. Erlang编程语言的一些痛点