首页 > 编程语言 >设计程序实现解析www.baidu.com的域名,把获取到的百度的IP地址全部输出到终端并验证是否正确

设计程序实现解析www.baidu.com的域名,把获取到的百度的IP地址全部输出到终端并验证是否正确

时间:2024-06-04 19:57:43浏览次数:26  
标签:baidu www addr 程序实现 ip 获取 IP地址 include com

目录

题目


设计程序实现解析www.baidu.com的域名,把获取到的百度的IP地址全部输出到终端并验证是否正确。

分析


1.通过目标域名获取目标IP地址对应的网络字节序(需强转为对应的类型),使用gethostbyname()函数;

2.把获取的网络字节序转换为点分十进制的IP地址(需强转为对应的类型),以便查询。

代码


/***********************************************************************************
*
*	file name:	udp_ntoh.c
*	author	 :  [email protected] 
*	date	 :  2024/06/04
*	function :  该案例是实现解析www.baidu.com的域名,把获取到的百度的IP地址全部输出到
*               终端并验证是否正确
* 	note	 :  None
*   version  :
*
*	CopyRight (c)  2023-2024   [email protected]   All Right Reseverd 
*
* **********************************************************************************/
/************************************头文件*****************************************/
#include <netdb.h>
#include <stdio.h>
#include <arpa/inet.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
/***********************************************************************************/
int main()
{
   
    int i = 0;       //定义一个变量,表示IP地址下标
    uint32_t ip;
    char *host_ip;

    
    //1. 获取服务器的IP地址
    struct hostent *hostent =  gethostbyname("www.baidu.com");

    //2.定义结构体获取IP地址
    struct in_addr ip_addr;

    //3.当结构题hosten->h_addr_list为空时,退出循环
    while (hostent->h_addr_list[i] != NULL)
    {
        //4. 获取IP地址对应的网络字节序
        ip = *(uint32_t*)hostent->h_addr_list[i];

        //5. 网络字节序转换为点分十进制IP地址   char *inet_ntoa(struct in_addr in);
        ip_addr = *(struct in_addr*)&ip;
        host_ip = inet_ntoa(ip_addr);

        //6. 打印结果
        printf("IP: %s\n", host_ip);

        i++;
    }
    
    return 0;
    
}

结果


image

image

标签:baidu,www,addr,程序实现,ip,获取,IP地址,include,com
From: https://www.cnblogs.com/cwp-home/p/18231592

相关文章

  • 语音合成与文字语音互转 Baidu.AI+ffmpeg
    语音和文本互转安装Baidu.AIInstall-PackageBaidu.AI将文本合成语音将文本合成为语音文件主要使用百度云API中的Tts类,该类是语音合成的交互类,为使用语音合成的开发人员提供了一系列的交互方法。Tts类中提供了一个Synthnesis方法,哟过来将文本合成语音,其语法如下:参数......
  • vue3 && uni-app 中小程序实现 底部tabbar 中间凸起部分 或者说自定义底部tabbar [保
    1、先来看一下效果2、代码实现 我们还是在pages.json 中正常配置我们底部的tabbar但是需要添加一个字段 "custom":true,//开启自定义tabBar 不填每次原来的tabbar在重新加载时都回闪现3、在pages同一级或者里面创建一个子组件用来放我们的模版 4、在......
  • 《计算机网络微课堂》6-7 万维网WWW
    本节课我们介绍万维网。万维网并非某种特殊的计算机网络,它是一个大规模的、联机式的信息储藏所,是运行在因特网上的一个分布式应用,他利用网页之间的超链接,将不同网站的网页链接成一张逻辑上的信息网。万维网是欧洲粒子物理实验室的蒂姆伯纳斯·李TimBerners-Lee,最初于1989年......
  • 关于vue-baidu-map的一些记录
    这一阶段主要的内容是负责编写和百度地图相关的信息。(写到我想吐)仿照导航的页面效果。1.使用说明这里使用的是vue-baidu-map相关组件,这里我就不去说明如何去安装他们了,我们直接向下看。vue-baidu-map的操作手册的网址:VueBaiduMap(dafrok.github.io)。当然我这里介绍的那些只......
  • 大数据基础工程技术团队4篇论文入选ICLR,ICDE,WWW
    近日,由阿里云计算平台大数据基础工程技术团队主导的四篇时间序列相关论文分别被国际顶会ICLR2024、ICDE2024和WWW2024接收。论文成果是阿里云与华东师范大学、浙江大学、南京大学等高校共同研发,涉及时间序列与智能运维结合的多个应用场景。包括基于Pathways架构的自适应多尺......
  • 文件IO完成libjpeg库的移植,并设计程序实现在LCD上的任意位置显示一张任意大小的jpg图
    文件IO:完成libjpeg库的移植,并设计程序实现在LCD上的任意位置显示一张任意大小的jpg图片,注意不要越界。1.库的移植1.下载需要移植的库的源码包,libjpeg库源码包在官网可以下载www.ijg.org2.解压压缩包,解压后找到自述文件README,打开README了解libjpeg库的使用规则!3.打开源码包......
  • PLC程序实现矩形波,三角波,正弦波
    这套程序本来是在Smart200上玩出来的,后来在PLC1200/PLC1500的环境下重写了PLC程序。换句话说,这要遵守程序里的算法公式,不管什么PLC都能做出这几种波形1.采样时间想要生成连续的波形图,本质就是在采样时间点上采集当前输出值,当采样点足够多的时候,在时间线上就形成了随时间变化的......
  • post请求下载文件,"Content-Type": "application/x-www-form-urlencoded",
    importaxiosfrom"axios";importqsfrom"qs";if(item.resourceName=="导出"){const[startTime="",endTime=""]=this.rangeTime||[];letparams={carNumber:this.carNu......
  • 中文语料库 没有类似https://www.english-corpora.org/里的 A/B compare的好用的
    BCC一旦用~,统计,就查不全CCL有个“搭配查询”但是很不好用,必须指明词性和词长/距离,coca里任意1-4距离,词性也是任意 搭配查询,用于查询(对比)不同动词前后的共现名词的频次差异。例如:查询表达式“刷(n,=2)|擦(n,=2)”,表示查询“刷”和“擦”后面的词长为2的名词。两个动词......
  • baidu2
    cfredandblue题目链接题目大意:思路:将数组先按颜色,再按大小升序排序所得形式类似于其中根据贪心只要能出现1~n的序列即可在颜色B下,\(a[i]>=i+1\)因\(a[i]\)只能取不大于自身的数在颜色R下,\(a[i]<=i+1\)因\(a[i]\)只能取不小于自身的数#include<iostream>......