JAVA从url中分离ip和port

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() );
}
}

时间: 2024-08-22 06:10:52

JAVA从url中分离ip和port的相关文章

java获取url中的参数

获取地址栏中的url中的userName的值 String userName=new String(request.getParameter("userName")); 获取中文的需要转码 String truename_user=new String(request.getParameter("truename_user").getBytes("ISO8859_1"),"utf-8");

java截取url中的值

1 Map<String, Object> urlSplit(String data){ 2 StringBuffer strbuf = new StringBuffer(); 3 StringBuffer strbuf2 = new StringBuffer(); 4 Map<String ,Object> map = new HashMap<String,Object>(); 5 for(int i =0;i<data.length();i++){ 6 7 i

android处理url中的特殊字符

java处理url中的特殊字符(如&,%...) URL(Uniform Resoure Locator,统一资源定位器)是Internet中对资源进行统一定位和管理的标志. 一个完整的URL包括如下内容: 1. 应用协议名称,包括http,ftp,file等标志 2. 资源定位,是由(.)分割等网络路径 3. 端口号,按照规定,http应用端口是80,telnet协议应用端口是23. 4. 服务器中的文件路径 5. 文件中的编码位置 URL无法显示某些特殊符号,这个时候就要使用编码了.编码的格

URL中加入BASE64加密的字符串引起的问题(java.net.MalformedURLException:Illegal character in URL)

序 昨天在做一个 Demo 的时候,由于是调用第三方的接口,采用的是 HTTP 的通信协议,按照文档上的说明,需要把参数进行加密后加入到 URL 中,但是,就是这个看似普普通通的操作,却让我着实费了很大的劲. 背景 关于 BASE64,我不想说太多,因为这是很基本的一种编码方式,或者说是加密方式.不了解的可以到我前面的博客中去看看,关于加密,前边有一个系列的文章.下面说说出现这个问题的情景. 昨天拿到一个任务,写一个 Demo,目的是查询一系列的信息,当然,需要调用一个第三方的接口,根据接口文档

python学习 根据日志中的ip和url排序

#!/usr/bin/env python #coding:utf-8 def open_file(file_name):     res={}     with open(file_name) as f:         for line in f:             tmp=line.split(' ') #           print tmp             ip,url=tmp[0],tmp[6] #       print ip,url 以元组的形式存到列表中    

java 从网络Url中下载文件

转自:http://blog.csdn.net/xb12369/article/details/40543649 /** * 从网络Url中下载文件 * @param urlStr * @param fileName * @param savePath * @throws IOException */ public static void downLoadFromUrl(String urlStr,String fileName,String savePath) throws IOExcepti

java基础知识 学习 关于URL中传递的参数含有特殊字符

有些符号在URL中是不能直接传递的,如果要在URL中传递这些特殊符号,那么就要使用他们的编码了.下表中列出了一些URL特殊符号及编码                                             1. +        URL 中+号表示空格     %2B 2. 空格 URL中的空格可以用+号或者编码 %20 3. /      分隔目录和子目录            %2F 4. ?       分隔实际的 URL 和参数                     

用java将excel中数据导入mysql

java的poi技术读取Excel数据到MySQL 这篇blog是介绍java中的poi技术读取Excel数据,然后保存到MySQL数据中. 你也可以在 : java的poi技术读取和导入Excel了解到写入Excel的方法信息 使用JXL技术可以在 :java的jxl技术导入Excel  项目结构: Excel中的测试数据: 数据库结构: 对应的SQL: 1 CREATE TABLE `student_info` ( 2 `id` int(11) NOT NULL AUTO_INCREMENT

JAVA、android中常用的一些jar包的作用

正文: 这里主要介绍的是hibernate使用到的.jar Hibernate一共包括了23个jar包,令人眼花缭乱.本文将详细讲解Hibernate每个jar包的作用,便于你在应用中根据自己的需要进行取舍. 下载Hibernate,例如2.0.3稳定版本,解压缩,可以看到一个hibernate2.jar和lib目录下有22个jar包: hibernate2.jar: Hibernate的库,没有什么可说的,必须使用的jar包 cglib-asm.jar: CGLIB库,Hibernate用它来