精华内容
下载资源
问答
  • js获取url域名的方法

    千次阅读 2014-06-10 16:59:56
    域名就是顶级域名前面的

    顶级域名有国家顶级域名和国际顶级域名之分:国家顶级域名就是.cn这种,全世界有好几百种域名;国际顶级域名就是.com这种,总共也就10几个。

    两种顶级域名可能出现其中之一也可能全都出现,而且国际顶级域名永远在国家顶级域名之前,所以我们至少需要对其中一种顶级域名进行枚举,这样才能判断哪里是一级域名。

    当然我们会选择枚举国际顶级域名。

    一级域名就是顶级域名前面的那段域名。

    var parseDomain=function (str) {
                if (!str) return '';
                if (str.indexOf('://') != -1) str = str.substr(str.indexOf('://') + 3);
                var topLevel = ['com', 'net', 'org', 'gov', 'edu', 'mil', 'biz', 'name', 'info', 'mobi', 'pro', 'travel', 'museum', 'int', 'areo', 'post', 'rec'];
                var domains = str.split('.');
                if (domains.length <= 1) return str;
                if (!isNaN(domains[domains.length - 1])) return str;
                var i = 0;
                while (i < topLevel.length && topLevel[i] != domains[domains.length - 1]) i++;
                if (i != topLevel.length) return domains[domains.length - 2] + '.' + domains[domains.length - 1];
                else {
                    i = 0;
                    while (i < topLevel.length && topLevel[i] != domains[domains.length - 2]) i++;
                    if (i == topLevel.length) return domains[domains.length - 2] + '.' + domains[domains.length - 1];
                    else return domains[domains.length - 3] + '.' + domains[domains.length - 2] + '.' + domains[domains.length - 1];
                }
            };
    展开全文
  • 比如:取这个地址“"http://blog.csdn.net/meetings/article/details/78785424"”里的“blog.csdn.net”对应的真实IP ... * 获取url对应的域名 * * @param url * @return */ public String getDomain(String

    比如:取这个地址“"http://blog.csdn.net/meetings/article/details/78785424"”里的“blog.csdn.net”对应的真实IP

        /**
         * 获取url对应的域名
         *
         * @param url
         * @return
         */
        public String getDomain(String url) {
            String result = "";
            int j = 0, startIndex = 0, endIndex = 0;
            for (int i = 0; i < url.length(); i++) {
                if (url.charAt(i) == '/') {
                    j++;
                    if (j == 2)
                        startIndex = i;
                    else if (j == 3)
                        endIndex = i;
                }
    
            }
            result = url.substring(startIndex + 1, endIndex);
            return result;
        }
        /**
         * 通过域名获取真实的ip地址 (此方法需要在线程中调用)
         *
         * @param domain
         * @return
         */
        public String getIP(String domain) {
            String ipAddress = "";
            InetAddress iAddress = null;
            try {
                iAddress = InetAddress.getByName(domain);
            } catch (UnknownHostException e) {
                e.printStackTrace();
            }
            if (iAddress == null)
                Log.i("xxx", "iAddress ==null");
            else {
                ipAddress = iAddress.getHostAddress();
            }
            return ipAddress;
        }
    调用:
        final String url = "http://blog.csdn.net/meetings/article/details/78785424";
    
            CoreFuncKt.ioThread(new Runnable() {
                @Override
                public void run() {
                    Log.i("ddd", "IP" + getIP(getDomain(url)));
                }
            });
    执行结果:47.95.165.112


    展开全文
  • 获取指定域名的IP地址

    千次阅读 2018-06-04 14:02:57
    获取指定域名的IP地址所需函数:gethostbyname函数原型:struct hostent* gethostbyname(const char *name)参数:const char *name//主机名或域名返回值:函数执行成功会返回个hostent结构体,其结构体原型如下:...

    获取指定域名的IP地址

    所需函数:gethostbyname

    函数原型:

    struct hostent* gethostbyname(const char *name)

    参数:const char *name  //主机名或域名

    返回值:函数执行成功会返回一个hostent结构体,其结构体原型如下:

    struct hostent
    
    {
    
    char *h_name;//主机正式名
    
    char ** h_aliases;//主机别名
    
    short h_addrtype;//主机地址类型一般为2表示是AF_INET
    
    short h_length;//地址长度,32位地址长度为4个字节
    
    char ** h_addr_list; //存储主机地址的数组。此处要注意的是该成员可以存储多个IP地址,即如其名称所言,地址列表。当获取到hostent结构指针后,要读取地址信息。应该使用
    
          强制转换为in_addr*(用来表示IV_4IP的TCP结构体)再使用。我刚开始使用的时候以为每个h_addr_list[i]就是一个地址列表的字符,结果得到的不是自己想要的。
    
    };

    函数执行失败会返回一个空指针,并且可以通过WSAGetLastError来获取错误码

    WSANOTINITIALISED 在应用这个API前,必须成功地调用WSAStartup()。
    
    WSAENTDOWN Windows Sockets实现检测到了网络子系统的错误。
    
    WSAHOST_NOT_FOUND 没有找到授权应答主机。
    
    WSATRY_AGAIN 没有找到非授权主机,或者SERVERFAIL。
    
    WSANO_RECOVERY 无法恢复的错误,FORMERR,REFUSED,NOTIMP。
    
    WSANO_DATA 有效的名字,但没有关于请求类型的数据记录。
    
    WSAEINPROGRESS 一个阻塞的Windows Sockets操作正在进行。
    
    WSAEINTR 阻塞调用被WSACancelBlockingCall()取消了.

    示例:

    #include <Winsock2.h>
    
    #pragma comment(lib,"WS2_32.lib")           //套接字库
    
    int main(){
    
    WSAData wsa;
    
    WSAStartup(MAKEWORD(2, 2)/*使用2.2的winsock版本库*/, &wsa);
    
    hostent *phst = gethostbyname("www.Google.com");//传递域名/主机名
    
    in_addr * iddr = (in_addr*)phst->h_addr;//h_addr = h_addr_list[0],获取地址列表第一个地址IP
    
    unsigned long IPUL = iddr->s_addr;//获取无符号的网络字节序,该符号通常以大端形式存储
    
    char *IP = inet_ntoa(*iddr);//将十进制的大端存储的网络字节讯转化为以.分割的字符IP_4地址,并以小端形式存储
    
    printf("%s", IP);//打印
    
    getchar();
    
    }
    
     

    运行结果:

    有的时候你会发现你能获取某个网站的IP地址时能获取到多个IP地址,就像h_addr_list这个成员变量一样,这里来说明一下,DNS服务器,DNS服务器是负责用于解析某个域名的IP的,它会把解析结果返回给浏览器,浏览器在通过解析结果,来进行TCP/IP的连接,那么DNS服务器是什么?

    DNS服务器是由ICANN(全球互联网域名与数字地址(IP)分配机构)维护的,后ICANN将亚太地区(亚洲大陆)的DNS服务器交给apnic维护,并且其它大陆的也分别交给不同的信息中心维护,美国是由ICANN维护的,但其资源是共享的,我们平常在一些域名供应商购买域名时,通过域名捆绑IP时供应商会将这些信息通过信息中心提供的结构解析到信息中心中!

    且域名也是有ICANN维护的,我们平常在注册域名都要查一下域名是否被注册,这些都是通过ICANN提供的接口查询的,并且不同国家也有不同的政策,比如万网需要备案,但其万网背后所使用的接口均为apnic提供的!

    并且可以通过域名供应商来设置DNS服务器的解析方式,有的时候一个域名可以拥有多个服务器,学网站制作的应该有了解,毕竟一个服务器是不能承载上千万的同时访问量的,其次考虑到线路方面的传递效率问题,很多大型网站会在不同地方设立不同的服务器,然后在域名供应商里把域名与多个服务器的独立IP绑定在一起,在设置一下解析模式即可!

    只需要在DNS域名解析里把同一个域名解析到不同的服务器IP上即可!

    这样在访问时DNS服务器会根据你当前的线路给你选择距离你最近的线路,这样线路传递数据的效率也有所提升,速度上也增加,解析只能通过地区不会精准到住所!

    浏览器在域名解析时会把当前调用接口来进行请求其底层是TCP/IP协议,这样的话你的IP还会被传递过去,DNS服务器就可以通过你的IP来确定你的位置!

    如何确定位置?

    答:

    根据IP号段,供应商在给你的互联网设备分配IP不是乱分配的,会根据你注册情况,提供的地址,来给你确定IP,比如123.26-155.26IP号段为上海市浦东新区,那么假如你的IP号段(IP地址前两个)在此范围内,那就可以确定地区了,随着人数的增多,有的时候会发现不在此范围内的号段也是某某地区的,是因为人数的增多,扩展出新的号段,不过这些我们是不需要关心的,因为这些是运营商自己后台会存储扩展好的!

     

    Gethostbyname函数内部其实调用的是netconn_gethostbyname函数,netconn_gethostbyname函数是lwip(基于TCP/IP的开源小型协议栈,是瑞典计算机科学院(SICS)Adam Dunkels开发的)下的一个DNS域名查询接口开发的,并且此接口只要有TCP/IP库,即可调用,无需操作系统支持,并且TCP/IP库是纯C开发的,没有操作系统限制,适合嵌入式!

     

    相关连接:网络通讯过程-互联网详解

    展开全文
  • WINDOWS下C++通过域名获取IP地址

    千次阅读 2013-12-30 19:54:10
    时间有需要通过域名获取IP地址,Winsock API函数,总结如下: 注意 使用Socket的程序在使用Socket之前必须调用WSAStartup函数对winsock服务进行初始化。 函数解释 int WSAStartup ( WORD wVersionRequested, ...

    前段时间有需要通过域名获取IP地址,有用到Winsock API函数,总结如下:

    注意

    使用winsock的程序在使用Socket之前必须调用WSAStartup函数对winsock服务进行初始化。

    函数解释

    int WSAStartup ( WORD wVersionRequested, LPWSADATA lpWSAData );

    ⑴ wVersionRequested:一个WORD(双字节)型数值,在最高版本的Windows Sockets支持调用者使用,高阶字节指定小版本(修订本)号,低位字节指定主版本号。

    ⑵lpWSAData 指向WSADATA数据结构的指针,用来接收Windows Sockets实现的细节。

    WindowsSockets API提供的调用方可使用的最高版本号。高位字节指出副版本(修正)号,低位字节指明主版本号。

    VS2005下,代码实现

    #include <iostream>
    #include<WINSOCK2.H>
    #pragma comment(lib,"WS2_32.LIB")
    using namespace std;
    void main()
    {
    WSAData wsa;
    WSAStartup(MAKEWORD(2,2),&wsa);
    hostent *phst=gethostbyname("www.baidu.com");
    in_addr * iddr=(in_addr*)phst->h_addr;
    unsigned long IPUL=iddr->s_addr;
    char *IP=inet_ntoa(*iddr);
    cout<<IP;


    while(1)
    {
    Sleep(100);
    }

    }


    展开全文
  • PHP获取域名域名IP的方法

    千次阅读 2019-05-10 10:38:29
    最近在做的个项目用到获取域名和IP的功能,大致有以下几种方法。 获取域名IP的方法可以使用内置的函数gethostbyname获取,例如: echogethostbyname("www.jbxue.com"); 以上则会直接输出域名所对应的的IP,当然...
  • struct hostent *gethostbyname(const char *name); 这个函数的传入值是域名或者主机名,例如...传出值,是个hostent的结构。如果函数调用失败,将返回NULL。 struct hostent { char *h_name; cha
  • 【网络】通过域名是如何获取IP地址

    千次阅读 热门讨论 2018-02-25 15:16:25
    大家都知道每个主机都有个唯一的IP地址对吧,比如百度的ip地址为119.75.217.109。它对于人来说非常的难记,所以为了能够让人们很好的接受它,出现了域名名词! 接下来举个例子,baidu.com就是我们所说的...
  • js获取当前URL、域名、端口号等

    千次阅读 2018-09-12 10:31:53
    属性 值 href 完整的 URL protocol 协议 hostname 主机名 port 端口号 host 主机名+端口号 pathname 当前 URL 的路径部分 search ... 具体的获取方法 例如:window.loc...
  • js获取url链接中的域名部分

    万次阅读 2018-03-19 11:23:45
    因为个正确的url必定是由http://或者是https://、domain、路径/参数组成,所以可以用split以/进行分割成数组,取第3部分就是域名了。 代码范例: var url = ‘http://www.0-php.com/cat_2.html‘; var domain =...
  • Nginx 重定向时获取域名的方法示例

    千次阅读 2019-01-12 14:44:43
    本篇文章主要介绍了Nginx 重定向时获取域名的方法示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧 TL;DR 如果你在处理 Nginx 重定向时要获取原请求的...查了一段时间发现这个问...
  • DNS(Domain Name System)是因特网的项服务,它作为域名和IP地址相互映射的个分布式数据库,能够使人更方便的访问互联网。人们在通过浏览器访问网站时只需要记住网站的域名即可,而不需要记住那些不太容易理解...
  • 想必大家对这代码并不陌生: public String getIpAddr(HttpServletRequest request) { String ip = request.getHeader("x-forwarded-for"); if (ip == null || ip.length() == 0 || "unknown"....
  • IP地址转换与域名解析

    千次阅读 2020-02-27 20:57:20
    IP地址转换与域名解析IP地址与端口IP地址转换相关类域名解析代码分析![在这里插入图片描述](https://img-blog.csdnimg.cn/20200227205232196.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10...
  • c# 获取url中域名等信息

    千次阅读 2018-09-26 16:47:12
    用这个串生成个uri对象,然后从uri对象可以得到所有分解的部分。   Uri u = new Uri("http://www.baidu.com/sasasasas/fdfddfx.php");   string sHost = u.Host; string sPort = u.Port; 还有...
  • 采用公网域名:端口的方式进入,ping域名后发现,返回的公网IP与我的公网IP相同,据我所知公司统一采用192.168.x.x的内网,没有多级子网,怀疑这个OA服务器与我的电脑处在同个内网中,可以获取或探测到这台服务器...
  •  提取全域名中的域名信息、二级域名信息...... 信息,当然域名就相当于是根域名。  例如:abc.map.baidu.com 提取出域名(根域名): baidu.com   提取出二级域名: map.baidu.com   
  • // userName 已获取 console.log(username) var re = url.split('code=')[1]; var codetwo = re.split('&state')[0]; console.log(codetwo) 另外补充一点: 获取当前网址的url var url = window....
  • 输入域名即可获取IP地址/* *模拟DNS协议的工作 */#include #include #include #include #include #include #pragma comment(lib , "ws2_32.lib") #pragma comment
  • 在文章《无需socket或ping命令,使用gethostbyname获取域名ip地址》中提到用gethostbyname获取域名ip的方法。今天就用个socket的方法吧。 原理比较简单:在浏览器输入网址即可浏览网页,但浏览器是如何知道相应网址...
  • 浏览器通过域名查找IP地址的过程

    千次阅读 2019-10-02 09:52:49
    1.查找浏览器缓存:因为浏览器一般会缓存DNS记录一段时间,不同浏览器的时间可能不一样,一般2-30分钟不等,浏览器去查找这些缓存,如果有缓存,直接返回IP,否则下一步。 2.查找系统缓存:浏览器缓存中找不到IP...
  • 微信授权获取微信地址源码

    千次阅读 2020-05-14 11:53:53
    引入一段官方步骤(大神可滤过): 步骤一:绑定域名 先登录微信公众平台进入“公众号设置”的“功能设置”里填写“JS接口安全域名”。 备注:登录后可在“开发者中心”查看对应的接口权限。 步骤二:引入JS文件 在...
  • 你要进行网络编程就得有IP地址域名、主机等要素,而个`InetAddress`里就保存着IP地址,同时还**可能**包含主机名,并且它提供了主机名 - IP地址**互转**的方法(比简单的域名解析还牛有木有),本来主要就介绍它...
  • 1、简述一般情况下,我们想知道在当前电脑设备环境下,某个网址能不能访问,最简单的方法是win + R 键 ,输入cmd,召唤cmd命令行程序,然后直接用ping命令 + 网址 来看返回的结果,那么我们是通过windows提供的工具...
  • 域名邮箱和域名解析GitHub Pages

    千次阅读 2017-04-06 11:17:56
    买了域名可以做什么? 域名邮箱1.打开QQ邮箱,设置>账户,找到“管理域名邮箱”:2....输入域名,选择域名供应... 将域名指向个IPv4地址(例如:10.10.10.10),需要增加A记录 CNAME记录: 如果将域名指向域名
  • 目前13台根域名服务器且均在国外[3],我国互联网的核心域名资源面临着随时受制于人的窘境。我国虽于2003年后先后引进F、I、J三个根域名服务器的镜像,在一定程度上提高中国境内互联网用户连接相关网站的速度。但由于...
  • 域名转为服务器IP地址的几种方式

    千次阅读 2019-05-09 14:35:37
    获取服务器IP地址通常按照以下顺序进行 浏览器缓存 浏览器缓存DNS记录一段时间。有趣的是,操作系统不会告诉浏览器每个DNS记录的生存时间,因此浏览器将它们缓存一段固定的时间(因浏览器而异,2到30分钟)。 操作...
  • 时间开始接触微信公众号开发,前面进展都还行,今天在尝试对接“网页授权...网页授权获取用户基本信息 里面配置获取用户信息的回调地址域名 刚开始没有仔细看直接把回调地址全部复制过去 如下: 然后在调用的...
  • IP地址是IP使用的32位(IPv4)或者128位(IPv6)位无符号数字,它是传输层协议TCP,UDP的基础。InetAddress是Java对IP地址的封装,在java.net中有许多类都使用到了InetAddress, 包括ServerSocket,Socket,...
  • 突然之间,我们的B站视频播放失效了。之前直接使用的ibilibili发现它的低清版本视频无法正常加载了。...下载B站视频本身并不是个难事,所以下文我将首先介绍如何获取低清版直链,然后谈谈高清版下载如何是实现。
  • 时间开发的的个接口是个下载Excel模板的接口,本来是想放在公司的资源服务器上面,后来听组长说正在数据量小并且文件很小的东西可以维护在自己项目中的本地资源,然而问题出现了,我是直接给前端返回个指向...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 121,239
精华内容 48,495
关键字:

获取一段地址的域名