* @Author: Ding Jianlong
* @Date: 2019-03-07 16:14:04
* @Last Modified by: Ding Jianlong
* @Last Modified time: 2019-03-20 13:45:12
header('content-type:text/html;charset=utf-8');
//获取顶级域名
function getTopHost($url){
$url = strtolower($url); //首先转成小写
$host = parse_url($url)['host'];
//查看是几级域名
$data = explode('.', $host);
$n = count($data);
//判断是否是双后缀
$preg = '/[\w].+\.(com|net|org|gov|edu)\.cn$/';
if(($n > 2) && preg_match($preg,$host)){
//双后缀取后3位
$host = $data[$n-3].'.'.$data[$n-2].'.'.$data[$n-1];
}else{
//非双后缀取后两位
$host = $data[$n-2].'.'.$data[$n-1];
return $host;
// 测试
echo getTopHost("http://ABC.com/s/j?wd=djl"),'
';
echo getTopHost("http://www.abc.com/s/j?wd=djl"),'
';
echo getTopHost("http://2.www.abc.com/s/j?wd=djl"),'
';
echo getTopHost("https://mp.weixin.qq.com/s?__biz=MzA3ODI3ODUzMw=="),'
';
echo getTopHost("http://cfi.net.cn/"),'
';
echo getTopHost("http://www.cfi.NEt.cn/"),'
';
echo getTopHost("https://www.sina.com.cn/?from=kandian"),'
';
parse_url()获取到的host时多级域名,如:mp.weixin.qq.com。做域名黑名单的时候我们需要得到顶级域名。有不足之处还请留言指正,谢谢。<?php/** * @Author: Ding Jianlong * @Date: 2019-03-07 16:14:04 * @Last Modified by: Ding Jianlong * @La...
大家都知道Js有同源策略,就是主
域名
不同嵌套的iframe不允许Js通信的。
比如我有一个网站,网站
中
要嵌入其网站的页面。那么我可以使用iframe引用第三方网站的
地址
即可。
但是问题也来的iframe的高度是固定的不能与第三方网站很好的融合,又例如第三方网站使用了瀑布流插件,要滚动加载自动计算高度,那么先说跨域:iframe主
域名
不同跨域方法,假如网站 A.com B.com A 里面放入一个iframe 引用了B.com,这种情况下B.com里面的Js是无法访问到A.com的。JS跨域必须是同源,就是同一个主
域名
,那肿么办呢?
我们可以在B.com
中
在引入一个iframe,暂且叫C吧
本文实例讲述了PHP实现
获取
url
地址
中
顶级
域名
的方法。分享给大家供大家参考,具体如下:
parse_
url
()
获取
到的host时多级
域名
,如:mp.weixin.qq.com。做
域名
黑名单的时候我们需要得到
顶级
域名
。
有不足之处还请留言指正,谢谢。
* @Author: Ding Jianlong
* @Date: 2019-03-07 16:14:04
* @Last Modified by: Ding Jianlong
* @Last Modified time: 2019-03-20 13:45:12
header('content-type:
提取
url
中
的信息,可以使用python
中
的
url
parse模块进行解析,但是有个缺陷是无法提取
顶级
域名
。参考博文:https://blog.csdn.net/weixin_44799217/article/details/124591187
提取较为复杂的
url
信息,还可以使用tld模块。
安装方法::
function get_host($to_virify_
url
= ''){
$
url
= $to_virify_
url
? $to_virify_
url
: $_SERVER['HTTP_HOST'];
$da...
本文实例讲述了php
获取
当前
url
地址
的方法。...//
获取
域名
或主机
地址
echo $_SERVER['HTTP_HOST'].
; #localhost //
获取
网页
地址
echo $_SERVER['PHP_SELF'].
; #/blog/test
url
.php //
获取
网址参数 e
不跨域的前提下,window.top就能获得最顶层的window对象,于是你就可以通过window.top.document.getElementById(...)或者window.top.$(...)(window.top.$即是顶层frame的jQuery实例)来查找元素了。
URL
统一资源定位服务
URL
(Uniform Resource Locator, 统一资源定位器)。它是www的统一资源定位标志,简单地说
URL
就是web
地址
,俗称“网址”。
URL
= 协议+
域名
或IP+端口号+路径+查询字符串+锚点
http://是协议(protocol)。 它表明了浏览器必须使用何种协议。它通常都是HTTP协议或是HTTP协议的安全版,即HTTPS。Web需要它们二者之一,但浏览器也知道如何处理其他协议,
www.baidu.com是
域名
(Domain Name)。 它表明
关于
域名
,可能我们每天都在与之打交道。每天上网访问网站的时候,首先就得先输入
域名
。我们经常会听到
顶级
域名
,一级
域名
,二级
域名
等等,这些
域名
到底是怎么划分的,本文就来阐述一下。
关于
顶级
域名
,我们知道
域名
由两个或两个以上的词构成,
中
间由点号分隔开,最右边的那个词就叫做
顶级
域名
。我们接触的
顶级
域名
又分为两类:一是国家和地区
顶级
域名
。例如
中
国是cn,美国是us等;二是国际
顶级
域名
,例如表示工商企业
2. 使用正则表达式来匹配和提取
域名
部分。
-
域名
通常由以下部分组成:协议(可选),
域名
,端口号(可选)。
- 一个可能的正则表达式模式可以是:`/^((http[s]?|ftp):\/)?\/?([^:\/\s]+)(:[0-9]+)?/i`。
- 在这个模式
中
:
- `/`是正则表达式的起始和结束符号。
- `^`表示字符串的起始位置。
- `(http[s]?|ftp)`匹配http、https或ftp协议。
- `:`、`\/`、`?`等字符在正则表达式
中
有特殊的含义,所以需要用`\`进行转义。
- `[^:\/\s]+`匹配任意不是`:`、`/`和空格的字符。
- `()`将匹配的子串捕获。
- `:`表示端口号的开始。
- `[0-9]+`匹配一位或多位数字。
- `?`表示前面的元素是可选的。
3. 使用JavaScript
中
的正则表达式方法(如`match()`)来执行匹配操作并提取
域名
部分。
- 例如,`var
url
= "http://www.example.com:8080/path/to/file.html";`表示
URL
字符串。
- `var domain =
url
.match(/^((http[s]?|ftp):\/)?\/?([^:\/\s]+)(:[0-9]+)?/i)[3];`可以将
域名
部分提取出来。
4. 最后,可以打印或使用
域名
部分进行其他操作。
- 例如,`console.log(domain);`可以将
域名
部分打印到控制台上。
这样,通过使用正则表达式进行匹配和提取,就能够截取
url
中
的
域名
部分了。