首页 > 其他分享 >获取url地址中顶级域名

获取url地址中顶级域名

时间:2023-12-04 18:01:16浏览次数:35  
标签:顶级 url preg host 取后 域名 data

parse_url()获取到的host时多级域名,如:mp.weixin.qq.com。做域名黑名单的时候我们需要得到顶级域名。


代码如下: 

<?php
 
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;
}

标签:顶级,url,preg,host,取后,域名,data
From: https://blog.51cto.com/ding/8680604

相关文章

  • java会将url自动转换
    Java如何自动转换URL简介在开发中,我们经常会遇到需要将URL字符串转换为Java的URL对象的场景。幸运的是,Java提供了一种自动转换URL的机制,使得我们可以方便地处理URL相关的操作。本文将介绍Java中URL自动转换的流程以及具体的实现步骤。URL自动转换流程URL自动转换的过程可以分为......
  • Kubernetes Pods如何访问外部域名
    Pods如何访问外网域名在Kubernetes环境中,并不是所有服务都适合部署中集群中,如数据库服务,在这种情况下集群中的Pods如何访问集群外的服务,有以下几种方式CoreDNS方式新增一段配置,如下范例范例.:53{errorshealth{lameduck15s}readykuber......
  • Spring 中的 URL 处理工具类 UriComponentsBuilder
    UriComponentsBuilder是SpringFramework中的一个用于构建URI(UniformResourceIdentifier)和URL(UniformResourceLocator)的实用程序类。它提供了一种简单的方式来构建包含各种部分(如协议、主机、路径、查询参数等)的URI和URL,并支持对这些部分进行修改、替换和合并等操作。以下是......
  • python网络连接报错:ValueError("Unable to determine SOCKS version from %s" % proxy
      python应用proxy网络连接报错:returnsuper().send(request,*args,**kwargs)^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^File"/home/devil/anaconda3/envs/pytorch/lib/python3.11/site-packages/requests/adapters.py",line454,insendco......
  • URL 资源清洗
    URL资源清洗在Controller包中建立一个新的类,并实现UrlCleaner接口packagecom.llq.springcloud.controller;@ComponentpublicclassCustomUrlCleanerimplementsUrlCleaner{ // 资源清洗:实现UrlCleaner接口@OverridepublicStringclean(StringoriginUr......
  • Python使用cURL库下载文件
    Python使用cURL库下载文件cURL库是一个功能强大的工具,可以用于在Python中下载文件。以下是一个简单的Python程序,使用cURL库实现文件下载功能:importsubprocessdefdownload_file(url,output_path):command=['curl','-o',output_path,url]process=subprocess.Popen(comman......
  • vue 根据url来下载文件
    服务端返回了一个pdfurl,直接点击变成了预览。下载方式:letfileUrl='http://file地址替换成自己的';letfileName='文件下载时的文件名';fetch(fileUrl).then((response)=>response.blob()).then((blob)=>{......
  • 远程服务器端口自动检测、切换域名映射的工具
    要实现远程服务器端口的自动检测和切换域名映射,您可能需要结合多个工具和脚本来完成。下面是一种可能的实现方式:端口检测工具:您可以使用之前提到的端口扫描工具(如Nmap、Netcat等)编写脚本来进行端口检测。通过定期运行该脚本,您可以检测远程服务器的端口是否可用,并根据需要执行后续......
  • 域名系统
    在互联网的海洋中,域名系统就像是导航图。没有域名系统,我们无法找到目标网站,无法获取所需信息。域名系统,尽管我们平时可能意识不到它的存在,但它无时无刻不在为我们提供服务。 域名系统,也称为DNS,它就像是人名和身份之间的翻译器。当我们输入一个网址(也就是域名)时,域名系统就会把这......
  • url的三个js编码函数escape(),encodeURI(),encodeURIComponent()简介
    引子浏览器URl地址,上网一定会用到,但是浏览器地址有中文或者浏览器url参数操作的时候,经常会用到encodeURIComponent()和decodeURIComponent()以及encodeURI()等等。关于浏览器参数操作,请看文章javascript浏览器参数的操作,js获取浏览器参数 ,今天主要讲讲escape(),encodeURI(),enco......