友情链接系统中统计点击进站数量,而进站只能是REFERR的URL.怎能从中找到不含二级域名的主域名呢?以下是完整的代码:
private static String getDomainName(String ReferrURL)
{
if((ReferrURL==null)||((ReferrURL.trim()).length()==0))
return "";
if (ReferrURL.indexOf('/')<0)
return "";
StringTokenizer stDomain = new StringTokenizer(ReferrURL,"/");
int count = stDomain.countTokens();
String[] LinkArr = new String[count];
for (int i=0; i<count; i++){
LinkArr[i]=stDomain.nextToken();
}
String NewLink="";
String DomainName=LinkArr[2];
String nation ="ad,ae,af,ag,ai,al,am,ao,ar,at,au,az,bb,bd,be,bf,bg,bh,bi,bj,bl,bm,bn,bo,br,bs,bw,by,bz,ca,cf,cg,ch,ck,cl,cm,cn,co,cr,cs,cu,cy,cz,de,dj,dk,do,dz,ec,ee,eg,es,et,fi,fj,fr,ga,gb,gd,ge,gf,gh,gi,gm,gn,gr,gt,gu,gy,hk,hn,ht,hu,id,ie,il,in,iq,ir,is,it,jm,jo,jp,ke,kg,kh,kp,kr,kt,kw,kz,la,lb,lc,li,lk,lr,ls,lt,lu,lv,ly,ma,mc,md,mg,ml,mm,mn,mo,ms,mt,mu,mv,mw,mx,my,mz,na,ne,ng,ni,nl,no,np,nr,nz,om,pa,pe,pf,pg,ph,pk,pl,pr,pt,py,qa,ro,ru,sa,sb,sc,sd,se,sg,si,sk,sl,sm,sn,so,sr,st,sv,sy,sz,td,tg,th,tj,tm,tn,to,tr,tt,tw,tz,ua,ug,us,uy,uz,vc,ve,vn,ye,yu,za,zm,zr,zw";
String kindvprov="ac,ah,biz,bj,cc,com,cq,edu,fj,gd,gov,gs,gx,gz,ha,hb,he,hi,hk,hl,hn,info,io,jl,js,jx,ln,mo,mobi,net,nm,nx,org,qh,sc,sd,sh,sn,sx,tj,tm,travel,tv,tw,ws,xj,xz,yn,zj";
int NodeCount=2;
StringTokenizer st = new StringTokenizer(DomainName,".");
count = st.countTokens();
String[] NewLinkArr = new String[count];
for (int i=0; i<count; i++){
NewLinkArr[i]=st.nextToken();
}
//如果倒数第一个,即主域名标识是国家标识
if (nation.indexOf(NewLinkArr[NewLinkArr.length-1])>=0)
{
//先确定有三个节点
NodeCount=3;
//如果国家前一标识不是类型或省级标识,则只有二个节点
if (kindvprov.indexOf(NewLinkArr[NewLinkArr.length-2])<0)
NodeCount=2;
}
else //否则倒数第一个,即主域名标识是类型标识
{
//也只有两个节点
NodeCount=2;
}
//假如类型标识即是主域名,则实际节点数一定小于当前得到的结果
int istart=NewLinkArr.length-NodeCount;
if (istart<0)
istart=0;
//根据节点数定出的开始节点,取出主域名,这样就不会取到二级域名
for (int i=istart; i<NewLinkArr.length; i++)
{
//如果开始节点是WWW,象www.net.cn,www.com.cn,则www根据节点数确定取与不取
if (!NewLinkArr[i].equalsIgnoreCase("www"))
{
if (NewLink.length()>0)
NewLink += ".";
NewLink +=NewLinkArr[i];
}
else
{
//如果是www,并且节点数为3,这类域名必须要有WWW才能在数据库的URL中找到唯一.
if(NodeCount==3)
{
if (i==istart)
{
if (NewLink.length()>0)
NewLink += ".";
NewLink +=NewLinkArr[i];
}
}
}
}
return NewLink;
}
分享到:
相关推荐
在Java Server Pages(JSP)开发中,获取各种路径是构建动态网页和处理请求的关键步骤之一。本文将深入探讨在JSP中获取不同路径的方法,包括它们的应用场景、实现方式以及可能的影响,帮助开发者更好地理解和掌握JSP...
### 从HttpServletRequest获取各种路径总结 #### 一、概述 在Java Web开发中,通过`HttpServletRequest`对象可以获取客户端请求的各种信息,包括但不限于路径信息。这些路径信息对于开发者来说至关重要,尤其是在...
- 如果有现成的数据库,需要先在本地导出,再通过管理工具导入到JSP空间提供的数据库中。 - 修改数据库名称为服务提供商指定的名称。 3. **修改数据库连接语句**: - 在程序代码中更新数据库连接字符串,例如: ...
2. **访问方式**:提供访问JSP探针的URL,通常是服务器域名/应用上下文路径+jspcheck.jsp。 3. **结果解读**:解释探针显示的各项信息,如何判断环境是否正常,性能指标的合理范围等。 **总结** "简单的JSP探针"是...
3)公众号设置了安全域名,安全接口url, 支付页面url 4)按目录,拷贝jar文件, java文件,jsp文件到目标工程 5)修改 src\wxpay\WeChat.java 中公众号配置、商户信息配置 6) pay_1.jsp 为发起支付页面,需按提示...
2. 访问Web应用时,正确的URL格式应包含域名和路径。例如,要访问名为`my.jsp`的应用,正确的地址应该是`http://My_web.com:8080/my.jsp`,其中`8080`是默认的HTTP端口号。 3. `<a>`标签用于创建超链接,其参数`href...
在Java服务器页面(JSP)开发中,引入富文本编辑器是常见的需求,KindEditor是一个功能强大、易于使用的开源富文本编辑器。本篇文章将详细阐述如何在JSP项目中集成KindEditor,以及可能遇到的问题及解决方案。 首先...
URL注入是一种常见的安全攻击手段,攻击者通过在URL中插入恶意代码或数据来获取未授权访问权限,从而达到非法获取数据、篡改系统设置或执行其他恶意操作的目的。这种攻击方式利用了Web应用对输入验证不足的问题,...
本文将围绕“正则匹配URL”这一主题展开,详细解析如何使用正则表达式来识别和匹配URL,特别是针对JSP环境下URL的获取与处理。 ### 正则表达式的应用背景 在Web开发中,URL(统一资源定位符)是网站资源的地址标识...
配置域名在Tomcat中是将一个特定的URL与部署在服务器上的应用关联起来的过程,这对于多站点托管或者为不同项目提供独立访问入口至关重要。下面将详细解释如何使用Tomcat配置域名。 首先,我们需要理解域名配置的...
在网页开发中,实时刷新提示是一项重要的功能,它能让用户即时获取到服务器端的数据更新,无需手动刷新整个页面。本教程将围绕“Ajax+JSP”这一技术组合,讲解如何实现网页的实时刷新提示。 Ajax(Asynchronous ...
在本文中,我们将深入探讨如何使用JavaServer Pages (JSP) 获取不同的请求参数。通过一个名为`ShowCGIVariables`的JSP源码实例,我们可以了解如何访问和展示与标准CGI(通用网关接口)变量相关的信息。这个实例是一...
- **参数**:位于URL中的查询字符串,用于传递额外信息给服务器。 - **锚点**:用于跳转到页面内的某个具体位置。 **B. 服务器名称**并不是URL的一个组成部分,正确的应是**IP地址或域名**。 **10. 动态网页与静态...
1. **Server.xml配置**:打开`conf`目录下的`server.xml`文件,可以配置端口、域名等信息。 2. **Web.xml配置**:位于`conf`目录下的`web.xml`文件用于配置Web应用的基本设置,如监听器、过滤器等。 3. **Context....
【标题】:“ttcodes JSP图片小偷 v1.0_jsp_tupian”是一个基于JSP技术开发的图片抓取工具,主要用于从互联网上批量下载和收集图片资源。这个程序能够帮助用户快速获取网络上的图片,从而节省手动下载的时间和精力。...
在Windows系统中,可以在`C:\WINDOWS\system32\drivers\etc\hosts`文件中添加域名映射记录,例如: ``` 127.0.0.1 localhost 192.168.0.72 www.qzn.com ``` 这样就可以通过`www.qzn.com`来访问本地服务器了。 ###...
在IT行业中,部署一个可以被外网访问的JSP项目是一项常见的任务,涉及到服务器配置、Web服务集成以及域名解析等多个环节。在这个过程中,"IIS+Tomcat"的组合经常被用于实现这样的需求,因为IIS(Internet ...
- **静态引用**: 将一个JSP页面的输出静态地包含到另一个JSP页面中。 #### 二十一、页面之间的值传递 - **通过请求参数**: 通过URL或表单提交。 - **通过session**: 在用户会话中存储值。 #### 二十二、获取...
在Python中,处理URL的相关库,如`urllib.parse`,可以帮助我们解析、构建和操作URL。 1. **URL的结构** - **协议**:URL的开头部分定义了数据传输的协议,最常见的是HTTP(超文本传输协议)和HTTPS(安全版的HTTP...