需求:
基于url获取host,case如下:
http://snv.iteye.com/blog/1992991结果为snv.iteye.com
snv.iteye.com/blog/1992991结果为snv.iteye.com
https://snv.iteye.com/blog/1992991结果为snv.iteye.com
http://snv.iteye.htm结果为“”
snv.iteye.html结果为“”
teye.html结果为“”
http://www.iteye.com/blog/1992991结果为www.iteye.com
www.iteye.com/blog/1992991结果为www.iteye.com
https://www.iteye.com/blog/1992991结果为www.iteye.com
方法实现如下:
方法1:基于URI或者URL
依赖:
<dependency> <groupId>commons-lang</groupId> <artifactId>commons-lang</artifactId> <version>2.6</version> </dependency>
代码:
private static String getHost(String url) { if (!(StringUtils.startsWithIgnoreCase(url, "http://") || StringUtils .startsWithIgnoreCase(url, "https://"))) { url = "http://" + url; } String returnVal = StringUtils.EMPTY; try { URI uri = new URI(url); returnVal = uri.getHost(); } catch (Exception e) { } if ((StringUtils.endsWithIgnoreCase(returnVal, ".html") || StringUtils .endsWithIgnoreCase(returnVal, ".htm"))) { returnVal = StringUtils.EMPTY; } return returnVal; }
方法2:基于正则
依赖:
<dependency> <groupId>commons-lang</groupId> <artifactId>commons-lang</artifactId> <version>2.6</version> </dependency>
代码:
public static String getHost(String url) { if (!(StringUtils.startsWithIgnoreCase(url, "http://") || StringUtils .startsWithIgnoreCase(url, "https://"))) { url = "http://" + url; } String returnVal = StringUtils.EMPTY; try { Pattern p = Pattern.compile("(?<=//|)((\\w)+\\.)+\\w+"); Matcher m = p.matcher(url); if (m.find()) { returnVal = m.group(); } } catch (Exception e) { } if ((StringUtils.endsWithIgnoreCase(returnVal, ".html") || StringUtils .endsWithIgnoreCase(returnVal, ".htm"))) { returnVal = StringUtils.EMPTY; } return returnVal; }
相关推荐
使用httpclient抓取页面信息时需要填写HOST,使用此正则提取抓取URL的HOST内容
java 判断两个网址的主机名是否一样 java 判断两个网址的主机名是否一样 java 判断两个网址的主机名是否一样
Delphi 通过Host名得到IP地址 由于Host解析IP会消耗一定时间,请勿在大量循环中使用,否则将导致程序未响应。 已将代码封装成函数
利用VC实现LabVIEW与PLC基于HostLink协议的通信
欧姆龙的fins协议解析,打包;网络上基本未找到可用的fins协议解析打包代码,特此开源,供大家交流!
获取网络上的主机名与ip地址
springboot 解决host漏洞的实例
Oracle EBS 基于Host(主机文件)并发程序的开发---刘明明
hostlink 通信基于LAbview和omronPLC1111,hostlink 通信基于LAbview和omronPLC1111。
composer require vluzrmos/lumen-url-host 用法 运行1次: lumenUrlHost ( 'your-disered.domain:port' ); 注意:默认情况下,流明会在首次调用时缓存主机名和端口。 只有在首次生成的url之前被调用时,该方法...
获取Url的方法有两种,通过后台获得或通过前面js获得,如下: 1、通过C#获取当前页面的URL string url = Request.Url.AbsoluteUri; //结果: //www.jb51.net/web/index.aspx string host = Request.Url.Host; //结果...
基于PHP的中易php广告联盟程序免HOST源码.zip 基于PHP的中易php广告联盟程序免HOST源码.zip 基于PHP的中易php广告联盟程序免HOST源码.zip 基于PHP的中易php广告联盟程序免HOST源码.zip 基于PHP的中易php广告联盟程序...
【亲测实用】欧姆龙PLC与上位机通信VB源码 ...主要功能: 通过HOST link协议实现欧姆龙PLC与上位机通信VB源码,有封装的DLL,可以结合硬直接使用,方便快捷。 适合人群:新手及有一定经验的开发人员
java课程设计基于javaweb的房屋租赁管理系统(95分以上高分设计).zip 下载就可以使用,数据库资料完整。 java课程设计基于javaweb的房租租赁管理系统(95分以上高分设计).zip 下载就可以使用,数据库资料完整。...
实现VB与Omron串口RS485总线通讯
NULL 博文链接:https://zhoudan241.iteye.com/blog/1432014
用JAVA使用邮件发送,使用的邮箱为163邮箱,收件人的邮箱无所谓,暂时测试过qq,新浪,163都是可以的
//获取完整url (协议名+域名+站点名+文件名+参数) string fullUrl = Request.Url.ToString()...string urlHost = Request.Url.Host; //获取参数部分 string urlQuery = Request.Url.Query; //获取服务器上ASP.NET应
添加了willow插件的Fiddler 还可以:统计数据包、修改Host、请求重定向、编码转换、低网速模拟、断点调试以及过滤HTTP请求…Fiddler包含了一个强大的基于事件脚本的子系统,并且能够使用.net框架语言扩展。...
socket = new Socket(this.getCodeBase().getHost(), 6666); in=new DataInputStream(socket.getInputStream()); out=new DataOutputStream(socket.getOutputStream()); } catch (IOException ee) { 提示条....