package com.likebamboo.osa.android.utils;
import android.text.TextUtils;
import android.webkit.URLUtil;
import com.likebamboo.osa.android.request.RequestUrl;
/**
* URL 检测
* Created by wentaoli on 2015/5/27.
*/
public class UrlDetect {
/**
* 是否为正确的url
*
* @param url
* @return
*/
public static boolean isValidURL(String url) {
if (TextUtils.isEmpty(url)) {
return false;
}
return URLUtil.isValidUrl(url);
}
/**
* 是否为本站URL
*
* @param url
*/
public static boolean isOurselvesURL(String url) {
if (!isValidURL(url)) {
return false;
}
if (!url.startsWith("http")) {
url = "http://" + url;
}
System.out.println(url);
if (url.startsWith(RequestUrl.BASE_URL)) {
return true;
}
return false;
}
/**
* 是否是博客链接
*
* @param url
* @return
*/
public static String isBlogUrl(String url) {
if (!isOurselvesURL(url)) {
return "";
}
if (!url.startsWith("http")) {
url = "http://" + url;
}
// 查看该链接是否以博客url开头
if (!url.startsWith(RequestUrl.BLOG_URL)) {
return "";
}
// 去掉链接前面的内容
url = url.substring((RequestUrl.BLOG_URL + "/").length());
// 如果处理后的 url 不含"/",或者只有最后一个字符是"/",说明是blog链接
if (!url.contains("/") || url.indexOf("/") == url.length() - 1) {
if (url.endsWith("/")) {
url = url.substring(0, url.length() - 1);
}
return url;
}
return "";
}
/**
* 是否是标签blog列表链接
*
* @param url
* @return
*/
public static String isTagBlogUrl(String url) {
if (!isOurselvesURL(url)) {
return "";
}
if (!url.startsWith("http")) {
url = "http://" + url;
}
// 查看该链接是否以博客url开头
if (!url.startsWith(RequestUrl.BLOG_URL)) {
return "";
}
// 去掉链接前面的内容
url = url.substring((RequestUrl.BLOG_URL + "/").length());
// 如果 url 不是以 "tag/" 开头
if (!url.toLowerCase().startsWith("tag/")) {
return "";
}
// 截取 "tag/" 后边的内容
url = url.substring(4);
// 如果处理后的 url 不含"/",或者只有最后一个字符是"/",说明是 tag blog链接
if (!url.contains("/") || url.indexOf("/") == url.length() - 1) {
if (url.endsWith("/")) {
url = url.substring(0, url.length() - 1);
}
return url;
}
return "";
}
}