亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? buildurl.java

?? 網頁抓取。 實現對指定網址的網頁內容進行抓取。網頁抓取。 實現對指定網址的網頁內容進行抓取。網頁抓取。 實現對指定網址的網頁內容進行抓取。
?? JAVA
字號:
/*
 * FileName CreateUrlUtil.java
 * Create Date 2006-5-17
 * Author shiwei
 * Descript 生成各種類型的URL
 * Version 
 */
package com.snoics.reptile.link.createUrl;

import java.net.URI;
import java.util.regex.Pattern;

import com.snoics.base.net.SnoicsUrl;
import com.snoics.base.util.RandomSeed;
import com.snoics.base.util.StringClass;
import com.snoics.base.util.regex.Regex;
import com.snoics.reptile.link.TempLink;
import com.snoics.reptile.regex.filter.IRegexFilter;
import com.snoics.reptile.regex.filter.IndexTypeFilter;
import com.snoics.reptile.regex.filter.RemoteUrlFilter;
import com.snoics.reptile.regex.filter.ResolvedUrlFilter;
import com.snoics.reptile.system.common.Common;
import com.snoics.reptile.system.common.CommonObject;

public class BuildUrl implements IBuildUrl{
	private Regex regex=new Regex();
	private TempLink tempLink=new TempLink();
	private CommonObject commonObject=new CommonObject();
	private SnoicsUrl snoicsUrl=new SnoicsUrl();
	
	/**
	 * 取得文件存放的根目錄
	 * @return String
	 */
	public String getFileRootPath(){
		return commonObject.getConfigInfo(Common.CONFIGFILE_NODE_FILEROOTPATH);
	}
	
	/**
	 * 生成相對于website的URL
	 * @param url 當前URL
	 * @param parentUrl 上一級頁面絕對URL
	 * @return String
	 */
	public String buildRelativizeUrl(String url,String parentUrl){
		if(url.startsWith("/")){
			return url;
		}
		IRegexFilter remoteUrlFilter=new RemoteUrlFilter();
		remoteUrlFilter.setUrl(url);
		if(remoteUrlFilter.filter()){
			return url;
		}
		IRegexFilter resolvedUrlFilter=new ResolvedUrlFilter();
		resolvedUrlFilter.setUrl(url);
		String website="^"+commonObject.getConfigInfo(Common.CONFIGFILE_NODE_WEBSITE);
		website=StringClass.getPreString(website,"/");
		String websiteRegexString=website+":?[0-9]*"+"/";
		if(resolvedUrlFilter.filter()){
			url=regex.getReplaceFirst(url,"",websiteRegexString,Pattern.CASE_INSENSITIVE);
			url="/"+url;
			url=StringClass.getFormatPath(url);
		}else{
			url=StringClass.getFormatPath(url);
			parentUrl=regex.getReplaceFirst(parentUrl,"",websiteRegexString,Pattern.CASE_INSENSITIVE);
			parentUrl="/"+parentUrl;
			parentUrl=StringClass.getFormatPath(parentUrl);
			URI uri=snoicsUrl.getResolved(parentUrl,url);
			if(uri==null){
				return url;
			}else{
				url=uri.toString();
			}
		}
		return url;
	}
	
	/**
	 * 生成相對于parentUrl的URL
	 * @param url 當前URL
	 * @param parentUrl 上一級頁面絕對URL
	 * @return String
	 */
	public String buildRelativizeWithParentUrl(String url,String parentUrl){
		IRegexFilter resolvedUrlFilter=new ResolvedUrlFilter();
		resolvedUrlFilter.setUrl(url);
		if(resolvedUrlFilter.filter()){
			return url;
		}
		if(url.startsWith("/")){
			return url;
		}
		url=StringClass.getFormatPath(url);
		URI uri=snoicsUrl.getRelativize(parentUrl,url);
		if(uri==null){
			return url;
		}else{
			url=uri.toString();
		}
		return url;
	}
	
	/**
	 * 生成絕對URL
	 * @param url 當前URL
	 * @param parentUrl 上一級頁面絕對URL
	 * @return String
	 */
	public String buildResolvedUrl(String url,String parentUrl){
		IRegexFilter remoteUrlFilter=new RemoteUrlFilter();
		remoteUrlFilter.setUrl(url);
		if(remoteUrlFilter.filter()){
			return url;
		}
		IRegexFilter resolvedUrlFilter=new ResolvedUrlFilter();
		resolvedUrlFilter.setUrl(url);
		if(resolvedUrlFilter.filter()){
			return url;
		}else{
			url=StringClass.getFormatPath(url);
			String website=commonObject.getConfigInfo(Common.CONFIGFILE_NODE_WEBSITE);
			if(url.startsWith("/")){
				if(website.endsWith("/")){
					website=website.substring(0,website.length()-1);
				}
				return website+url;
			}else{
				if(parentUrl==null){
					URI uri=snoicsUrl.getResolved(website,url);
					if(uri==null){
						return url;
					}else{
						url=uri.toString();
					}
				}else{
					URI uri=snoicsUrl.getResolved(parentUrl,url);
					if(uri==null){
						return url;
					}else{
						url=uri.toString();
					}
				}
			}
		}
		return url;
	}
	
	/**
	 * 返回重新生成后的相對于website的URL
	 * @param url
	 * @param parentUrl
	 * @return String
	 */
    public String buildLocalHtmlRelativizeFileName(String url,String parentUrl){
    	String pageFlagString=StringClass.getLastString(url,"#");
    	url=StringClass.getPreString(url,"#");
    	if(url.equals("")){
    		url=StringClass.getLastString(parentUrl,"/");
    		url=StringClass.getPreString(url,"#");
    	}
    	String relativizeUrl=buildRelativizeUrl(url,parentUrl);
    	String relativizeWithWebsiteUrl=buildRelativizeUrl(url,parentUrl);
    	String newRelativizeUrl="";
    	String temprelativizeUrl=tempLink.getLink(relativizeWithWebsiteUrl);
    	if(temprelativizeUrl!=null){
        	if(!pageFlagString.equals("")){
        		temprelativizeUrl=temprelativizeUrl+"#"+pageFlagString;
        	}
        	return temprelativizeUrl;
    	}else{
    		String filename="";
    		IRegexFilter indexTypeFilter=new IndexTypeFilter();
    		indexTypeFilter.setUrl(relativizeUrl);
    		boolean indexFlag=indexTypeFilter.filter();
    	    newRelativizeUrl=StringClass.getPreString(relativizeUrl,"/");
    		if(newRelativizeUrl.equalsIgnoreCase(relativizeUrl)){
    			newRelativizeUrl="";
    		}else{
    			newRelativizeUrl=StringClass.getFormatPath(newRelativizeUrl+"/");
    		}
    		if(indexFlag){
    			filename="index";
    		}else{
        		int filenamelength=32;
        		try{
        			filenamelength=Integer.parseInt(commonObject.getConfigInfo(Common.CONFIGFILE_NODE_FILENAMELENGTH));
        		}catch(Exception e){
        			
        		}
        		filename=RandomSeed.getSeed(filenamelength);
    		}
    		newRelativizeUrl=newRelativizeUrl+filename+Common.DEFAULT_STATICFILETYPE;
    		newRelativizeUrl=StringClass.getFormatPath(newRelativizeUrl);

			tempLink.addLink(relativizeUrl,newRelativizeUrl);
			
		}
    	if(!pageFlagString.equals("")){
    		newRelativizeUrl=newRelativizeUrl+"#"+pageFlagString;
    	}
		return newRelativizeUrl;
	}
    
	/**
	 * 返回重新生成后的相對于parentUrl的URL
	 * @param url
	 * @param parentUrl
	 * @return String
	 */
    public String buildLocalHtmlRelativizeWithParentFileName(String url,String parentUrl){
    	String pageFlagString=StringClass.getLastString(url,"#");
    	url=StringClass.getPreString(url,"#");
    	if(url.equals("")){
    		url=StringClass.getLastString(parentUrl,"/");
    		url=StringClass.getPreString(url,"#");
    	}
    	String relativizeUrl=buildRelativizeWithParentUrl(url,parentUrl);
    	String relativizeWithWebsiteUrl=buildRelativizeUrl(url,parentUrl);
    	String newRelativizeUrl="";
    	String temprelativizeUrl=tempLink.getLink(relativizeWithWebsiteUrl);
    	if(temprelativizeUrl!=null){
    		temprelativizeUrl=StringClass.getLastString(temprelativizeUrl,"/");
    		String newurl=StringClass.getPreString(relativizeUrl,"/");
    		if(newurl.equals(relativizeUrl)){
    			newurl=temprelativizeUrl;
    		}else{
    			newurl=newurl+"/"+temprelativizeUrl;
    		}
        	relativizeUrl = StringClass.getFormatPath(newurl);
        	

        	if(!pageFlagString.equals("")){
        		relativizeUrl=relativizeUrl+"#"+pageFlagString;
        	}
        	
        	return relativizeUrl;
    	}else{
    		String filename="";
    		IRegexFilter indexTypeFilter=new IndexTypeFilter();
    		indexTypeFilter.setUrl(relativizeUrl);
    		boolean indexFlag=indexTypeFilter.filter();
    		newRelativizeUrl=StringClass.getPreString(relativizeUrl,"/");
    		if(newRelativizeUrl.equalsIgnoreCase(relativizeUrl)){
    			newRelativizeUrl="";
    		}else{
    			newRelativizeUrl=StringClass.getFormatPath(newRelativizeUrl+"/");
    		}
    		if(indexFlag){
    			filename="index";
    		}else{
        		int filenamelength=32;
        		try{
        			filenamelength=Integer.parseInt(commonObject.getConfigInfo(Common.CONFIGFILE_NODE_FILENAMELENGTH));
        		}catch(Exception e){
        			
        		}
        		filename=RandomSeed.getSeed(filenamelength);
    		}
    		newRelativizeUrl=newRelativizeUrl+filename+Common.DEFAULT_STATICFILETYPE;
    		newRelativizeUrl=StringClass.getFormatPath(newRelativizeUrl);
    		
    		buildLocalHtmlRelativizeFileName(url,parentUrl);
    		
    		String theNewRelativizeUrl=buildRelativizeUrl(newRelativizeUrl,parentUrl);
    		
    		tempLink.addLink(relativizeWithWebsiteUrl,theNewRelativizeUrl);
    	}
    	
    	if(!pageFlagString.equals("")){
    		newRelativizeUrl=newRelativizeUrl+"#"+pageFlagString;
    	}
    	
		return newRelativizeUrl;
	}
	
    /**
     * 生成HTML文件的本地絕對文件路徑
     * @param url
     * @param parentUrl
     * @return String
     */
    public String buildLocalHtmlResolvedFileName(String url,String parentUrl){
    	String resolvedFileName=getFileRootPath()+"/"+buildLocalHtmlRelativizeFileName(url,parentUrl);
    	resolvedFileName=StringClass.getFormatPath(resolvedFileName);
		return resolvedFileName;
	}
	
    
    /**
     * 生成二進制文件的本地相對文件路徑
     * @param url
     * @param parentUrl
     * @return String
     */
    public String buildLocalBinFileRelativizeName(String url,String parentUrl){
    	IRegexFilter remoteUrlFilter=new RemoteUrlFilter();
    	remoteUrlFilter.setUrl(url);
    	String relativizeUrl="";
    	if(!remoteUrlFilter.filter()){
    		relativizeUrl=buildRelativizeUrl(url,parentUrl);
    	}else{
    		String binfile=StringClass.getLastString(url,"/");
    		relativizeUrl=StringClass.getFormatPath("/"+Common.REMOTE_DOWNLOADFILE_SAVE_PATH+"/"+commonObject.getConfigInfo(Common.CONFIGFILE_NODE_WEBSITENAME)+"/"+binfile);
    	}
    	buildRelativizeUrl(url,parentUrl);
		return relativizeUrl;
	}

    /**
     * 生成二進制文件的本地相對文件路徑
     * @param url
     * @param parentUrl
     * @return String
     */
    public String buildLocalBinFileRelativizeWithParentName(String url,String parentUrl){
    	IRegexFilter remoteUrlFilter=new RemoteUrlFilter();
    	remoteUrlFilter.setUrl(url);
    	String relativizeUrl="";
    	if(!remoteUrlFilter.filter()){
    		relativizeUrl=buildRelativizeWithParentUrl(url,parentUrl);
    	}else{
    		String binfile=StringClass.getLastString(url,"/");
    		relativizeUrl=StringClass.getFormatPath("/"+Common.REMOTE_DOWNLOADFILE_SAVE_PATH+"/"+commonObject.getConfigInfo(Common.CONFIGFILE_NODE_WEBSITENAME)+"/"+binfile);
    	}
    	buildRelativizeUrl(url,parentUrl);
		return relativizeUrl;
	}
	
    
    /**
     * 生成二進制文件的本地絕對文件路徑
     * @param url
     * @param parentUrl
     * @return String
     */
    public String buildLocalBinFileResolvedName(String url,String parentUrl){
    	String resolvedFileName=getFileRootPath()+"/"+buildLocalBinFileRelativizeName(url,parentUrl);
    	resolvedFileName=StringClass.getFormatPath(resolvedFileName);
		return resolvedFileName;
	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美国产国产综合| 一区二区三区中文在线| 91久久精品一区二区| 午夜精品久久久久久久久久| 久久综合久久久久88| 欧美主播一区二区三区| 狠狠色丁香久久婷婷综合丁香| 亚洲一区二区三区四区中文字幕 | 日韩精品一区二区在线| 91亚洲精品久久久蜜桃网站| 麻豆成人在线观看| 亚洲国产美女搞黄色| 国产女人18水真多18精品一级做| 欧美人体做爰大胆视频| 色av综合在线| 成人国产精品免费观看视频| 免费的成人av| 热久久免费视频| 亚洲国产va精品久久久不卡综合| 国产精品网站在线观看| 久久夜色精品一区| 91精品国产一区二区三区| 欧洲精品一区二区| 色综合天天性综合| 国产成人免费在线观看| 久久国产精品99久久久久久老狼| 亚洲3atv精品一区二区三区| 亚洲欧美一区二区三区孕妇| 国产精品久久久久四虎| 国产日韩影视精品| 国产亚洲精品bt天堂精选| 精品欧美乱码久久久久久1区2区| 制服丝袜一区二区三区| 欧美高清视频一二三区| 欧美日韩另类一区| 69久久夜色精品国产69蝌蚪网| 欧美影院一区二区| 欧美视频一区二区| 在线观看免费亚洲| 欧美裸体一区二区三区| 在线电影一区二区三区| 日韩写真欧美这视频| 欧美一区日韩一区| 日韩精品中文字幕一区 | 一区免费观看视频| 国产精品的网站| 亚洲欧洲制服丝袜| 亚洲综合激情小说| 亚洲国产视频在线| 日本视频免费一区| 激情综合网最新| 国产成人在线视频网站| 国产不卡高清在线观看视频| 成人精品免费网站| 日本韩国欧美一区二区三区| 欧美色倩网站大全免费| 日韩欧美黄色影院| 国产午夜一区二区三区| 国产精品看片你懂得| 一区二区国产盗摄色噜噜| 性做久久久久久免费观看 | 亚洲国产精品久久艾草纯爱| 日韩高清欧美激情| 国产最新精品免费| 成人综合婷婷国产精品久久蜜臀 | 中文字幕佐山爱一区二区免费| 一区二区三区国产精华| 天天亚洲美女在线视频| 国产自产高清不卡| 99视频精品在线| 欧美高清hd18日本| 久久久天堂av| 亚洲精品va在线观看| 免费观看一级特黄欧美大片| 成人免费毛片片v| 欧美性感一区二区三区| 久久这里只有精品视频网| 国产精品成人免费精品自在线观看| 一区二区激情小说| 国产精选一区二区三区| 色婷婷综合五月| 欧美xxxx老人做受| 亚洲精品国产第一综合99久久| 日韩高清一区在线| 成人av集中营| 欧美一级午夜免费电影| 国产精品国模大尺度视频| 日精品一区二区三区| 从欧美一区二区三区| 在线成人免费观看| 国产精品美女久久久久久久久| 午夜在线成人av| 国产69精品一区二区亚洲孕妇| 欧美丝袜丝交足nylons图片| 久久欧美一区二区| 日韩精品国产欧美| 91视频在线观看免费| 久久综合九色综合97婷婷女人| 亚洲无线码一区二区三区| 丁香一区二区三区| 欧美大胆人体bbbb| 亚洲在线中文字幕| 91丝袜高跟美女视频| 久久久精品免费免费| 免费观看久久久4p| 欧美日韩卡一卡二| 亚洲精品国产一区二区精华液| 国产精品小仙女| 欧美一区二区日韩| 丝袜亚洲另类欧美| 色综合一个色综合亚洲| 国产欧美日产一区| 国产综合成人久久大片91| 欧美一级夜夜爽| 日韩不卡一区二区三区| 欧美日韩中文一区| 亚洲永久精品大片| 色嗨嗨av一区二区三区| 国产精品久久久久aaaa| 国产精品一区二区在线观看网站| 日韩免费视频一区二区| 日本免费新一区视频| 欧美日韩国产片| 亚洲永久精品国产| 欧美日韩久久久| 亚洲国产精品影院| 91久久一区二区| 夜夜夜精品看看| 在线亚洲免费视频| 亚洲欧美日韩久久| 色老头久久综合| 亚洲黄色小说网站| 欧美综合一区二区| 偷拍一区二区三区四区| 欧美精品在线观看播放| 丝袜美腿亚洲色图| 欧美一区三区四区| 精品一区二区三区日韩| 欧美电视剧免费观看| 国产一区二区福利| 国产女同互慰高潮91漫画| 成人激情视频网站| 亚洲人成7777| 欧美日韩中文一区| 麻豆专区一区二区三区四区五区| 日韩午夜小视频| 激情文学综合插| 国产日韩欧美精品综合| av在线不卡电影| 亚洲国产精品嫩草影院| 中文av一区二区| 91麻豆免费在线观看| 一区二区三区美女| 日韩欧美高清一区| 成人在线综合网| 一区二区三区电影在线播| 欧美裸体bbwbbwbbw| 狠狠久久亚洲欧美| 中文字幕制服丝袜一区二区三区| 91视频一区二区三区| 亚洲成人综合视频| 精品成人一区二区| bt欧美亚洲午夜电影天堂| 亚洲国产欧美日韩另类综合| 日韩欧美中文字幕一区| 丁香另类激情小说| 亚洲福利电影网| 精品动漫一区二区三区在线观看| 成人小视频在线| 亚洲成人精品影院| 久久婷婷国产综合精品青草| 91免费看`日韩一区二区| 日韩精品一级中文字幕精品视频免费观看 | eeuss鲁片一区二区三区在线看| 亚洲嫩草精品久久| 精品免费99久久| 色婷婷综合久久久久中文一区二区| 香蕉影视欧美成人| 国产欧美一区二区三区在线看蜜臀| 91欧美一区二区| 久久精品国产网站| 亚洲人成网站精品片在线观看| 3d动漫精品啪啪一区二区竹菊| 91精品国产高清一区二区三区蜜臀| 精品午夜一区二区三区在线观看 | 一区二区三区在线视频免费| 日韩一区二区电影在线| 99久久国产免费看| 九九国产精品视频| 亚洲一区二区三区四区五区中文| 久久亚洲精精品中文字幕早川悠里| 色综合久久66| 国产福利不卡视频| 日本视频中文字幕一区二区三区 | 国产一区二三区| 午夜国产精品一区| 亚洲日本va午夜在线影院| 日韩精品一区在线观看| 欧洲在线/亚洲| k8久久久一区二区三区|