C++ 域名转IP地址

单个IP情况:
bool GetLocalIP(char* ip)
{  //1.初始化wsa  WSADATA wsaData;  int ret=WSAStartup(MAKEWORD(2,2),&wsaData);  if (ret!=0)  {  return false;  }  //2.获取主机名  char hostname[256];  ret=gethostname(hostname,sizeof(hostname));  if (ret==SOCKET_ERROR)  {  return false;  }  //3.获取主机ip  HOSTENT* host=gethostbyname(hostname);      //如需获取网站IP地址,参数填写域名即可,不需加"http://"if (host==NULL)  {  return false;  }  //4.转化为char*并拷贝返回  strcpy(ip,inet_ntoa(*(in_addr*)*host->h_addr_list));  return true;
} 
多个IP情况:
typedef struct tagIPInfo  {  char ip[30];  }IPInfo;  bool GetLocalIPs(IPInfo* ips,int maxCnt,int* cnt)  {  //1.初始化wsa  WSADATA wsaData;  int ret=WSAStartup(MAKEWORD(2,2),&wsaData);  if (ret!=0)  {  return false;  }  //2.获取主机名  char hostname[256];  ret=gethostname(hostname,sizeof(hostname));  if (ret==SOCKET_ERROR)  {  return false;  }  //3.获取主机ip  HOSTENT* host=gethostbyname(hostname);  if (host==NULL)  {  return false;  }  //4.逐个转化为char*并拷贝返回  *cnt=host->h_length<maxCnt?host->h_length:maxCnt;  for (int i=0;i<*cnt;i++)  {  in_addr* addr=(in_addr*)*host->h_addr_list;  strcpy(ips[i].ip,inet_ntoa(addr[i]));  }  return true;  } 

C++ 域名转IP地址相关推荐

  1. gethostbyname()函数:通过域名获取IP地址

    客户端中直接使用 IP 地址会有很大的弊端,一旦 IP 地址变化(IP 地址会经常变动),客户端软件就会出现错误. 而使用域名会方便很多,注册后的域名只要每年续费就永远属于自己的,更换 IP 地址时修 ...

  2. linux shell 域名 ip,Shell脚本一种检查Linux中域名和IP地址所有权信息、检查多个域名的到期日期工具...

    Shell脚本一种检查Linux中域名和IP地址所有权信息.检查多个域名的到期日期工具 jwhois是一个命令行实用程序,可从whois服务器(whois数据库)中获取有关域名所有权的信息. Whoi ...

  3. Nginx+Tomcat无法正确获取的域名和ip地址

    在利用Nginx作为反向代理服务器的时候,出现一个问题,就是在Tomcat中的web项目获取当前访问域名地址的时候,无法获取到真实的域名或IP地址,进过一系列摸索,最终找到解决办法. 之前的Nginx ...

  4. 获取指定域名的IP地址

    获取指定域名的IP地址 所需函数:gethostbyname 函数原型: struct hostent* gethostbyname(const char *name) 参数:const char * ...

  5. 一文看懂:网址,URL,域名,IP地址,DNS,域名解析

    今天给大家梳理一篇关于网址.URL.IP地址.域名.DNS.域名解析的白话长文,并以简单的提问-解答形式让读者更加深刻理解网址.URL.IP地址.域名.DNS.域名解析,希望有助于读者的学习,面试和工 ...

  6. DNS这位“翻译官”是如何转换域名和IP地址的?

    DNS这位"翻译官"是如何转换域名和IP地址的? Linux就该这么学 1周前 DNS( Domain Name System)是"域名系统"的英文缩写,是一种 ...

  7. 计算机网络基本知识(八):域名、IP地址简介及分类

    一.域名 1.域名的格式: • 计算机主机名.本地名.组名.最高层域名 例:www.hust.edu.cn 2.URL的格式: • 协议://主机.域名[:端口号]/路径/文件名 例:http://2 ...

  8. 如何查找域名对应IP地址?

    在windows系统下如何查找域名对应IP地址? 利用windows自带的命令提示框,首先windows+R打开命令提示框,输入cmd 方法一: 在命令提示框内输入ping+空格+域名地址 如图,11 ...

  9. 网址,URL,域名,IP地址,DNS,域名解析

    网址,URL,域名,IP地址,DNS,域名解析 文章简介 一篇关于网址.URL.IP地址.域名.DNS.域名解析的白话长文. 编写形式:QA 背景知识 互联网上的所有数据都是存储在主机(服务器)上互联 ...

最新文章

  1. XML文件读取数据绑定到DropDownList
  2. 几种Linux段错误调试方法
  3. Java 技术篇-使用poi开源jar包实现读取excel实例演示,poi-3.17.jar获取
  4. Python基础教程:迭代器
  5. Android Studio开发版(debug)和发布版(release)获取SHA1和MD5和SHA256的最原始方法
  6. 定义const变量是不可以赋值_JavaScript的声明方法和作用范围,常见的结构赋值类型和使用场景...
  7. db_mysql.so_MySQL登陆时提示找不到到libmysqlclient.so.15
  8. python导入模块的常用方法_(9)python模块的定义、导入、优化,常用模块
  9. bing翻译API调用(java版本)
  10. 无法定位链接器!请检查 tools\link.ini 中的配置是否正确。 易语言5.9版本 静态编译
  11. 友盟分享纯图片到微信
  12. 利用代理爬取搜狗微信文章
  13. E-BOM和M-BOM的区别
  14. 如何快速输出产品的用户故事地图
  15. 大数据未来七大发展方向 01.物联网
  16. [SSL_CHX][2022-1-28]n皇后问题
  17. python提取发票信息发票识别_python 发票识别
  18. JAVA 面试宝典新版
  19. 12枚硬币中取1枚假币的问题
  20. 图像平铺_制作无缝平铺图像的五个步骤

热门文章

  1. linux程序间管道通信,linux进程间通信——管道 详解
  2. 雷电网络:前景,挑战,路线
  3. golang转换时间格式报missing Location in call to Date
  4. 李开复:人工智能对人类真正的威胁是什么?
  5. Exsi上ubuntu虚拟机显卡tesla p100 驱动和cuda踩坑。
  6. itext给已有pdf添加页眉页脚
  7. java实现手写签名_手写签字,保存笔迹到图片
  8. ANDROID下面的游戏更新目录
  9. Coremail论客副总裁:从传统走向自主可控,金融行业邮件系统的转型升级
  10. FTX与加密监管:真金白银的理想消亡史