域名解析成IP地址C++

#include <windows.h>

#include <iostream>

#include <winsock.h>

#pragma comment(lib, "ws2_32")

#include <sstream>

#include<string>

using namespace std;

void main()

{

int WSA_return;

WSADATA WSAData;

WSA_return=WSAStartup(0x0101,&WSAData);

/* 结构指针 */

char ch;

HOSTENT *host_entry;

cout<<"如果您已经输入完毕,请直接关闭退出"<<endl;

/*设置循环不断的读入*/

do{

char host_name[256];

cout<<"请您输入要解析的网址:";

cin.getline(host_name,256);

if(WSA_return==0)

{

/* 即要解析的域名或主机名 */

host_entry=gethostbyname(host_name);

printf("%s\n", host_name);

if(host_entry!=0)

{

string str1,str2,str3,str4,str5;

int i1=host_entry->h_addr_list[0][0]&0x00ff,

i2=host_entry->h_addr_list[0][1]&0x00ff,

i3=host_entry->h_addr_list[0][2]&0x00ff,

i4=host_entry->h_addr_list[0][3]&0x00ff;

stringstream strconvert1,strconvert2,strconvert3,strconvert4;

strconvert1<<i1;//把int型转换成string类型的数据

strconvert1>>str1;

strconvert2<<i2;

strconvert2>>str2;

strconvert3<<i3;

strconvert3>>str3;

strconvert4<<i4;

strconvert4>>str4;

str5=str1+‘.‘+str2+‘.‘+str3+‘.‘+str4;

cout<<"以字符串形式输出:"<<str5<<endl;

printf("解析IP地址: ");

printf("%d.%d.%d.%d\n",

(host_entry->h_addr_list[0][0]&0x00ff),//得到的id

(host_entry->h_addr_list[0][1]&0x00ff),

(host_entry->h_addr_list[0][2]&0x00ff),

(host_entry->h_addr_list[0][3]&0x00ff));

}

}

}while(ch!=27);

WSACleanup();

}

/*使用Socket的程序在使用Socket之前必须调用WSAStartup函数。

该函数的第一个参数指明程序请求使用的Socket版本,

其中高位字节指明副版本、低位字节指明主版本;

操作系统利用第二个参数返回请求的Socket的版本信息。

当一个应用程序调用WSAStartup函数时,操作系统根据请求的Socket版本来搜索相应的Socket库,

然后绑定找到的Socket库到该应用程序中。

以后应用程序就可以调用所请求的Socket库中的其它Socket函数了。

该函数执行成功后返回0*/

时间: 2024-08-26 17:58:54

域名解析成IP地址C++的相关文章

域名解析与IP地址的关系

1.域名解析DNS (1)域名服务器:完成域名地址到IP地址转化的计算机. (2)域名服务器上运行着一个数据库系统: (3)数据库中保存着域名地址与IP地址. (4)用户主机需要把域名地址转化为IP地址时向域名服务器提出查询请求: (5)域名服务器根据用户请求进行查询并把结果返回给用户主机. 2.IP地址与域名的对应关系 (1)一对一: Internet上IP地址是唯一的,一个IP地址对应着唯一的一台主机. 给定一个域名地址能找到一个唯一对应的IP地址. (2)一对多: 一台计算机提供多个服务,

万网域名解析到IP地址

进入https://home.console.aliyun.com/#/的阿里云控制台 再自己购买的域名列表里进行操作 添加一个A解析

F5 cookie值与IP地址(二):将IP地址转换成F5 cookie值

简  介 在上一篇中,我们介绍了如何将cookie码转换成IP地址,这次我们将介绍如何将IP地址转换成cookie码.如何上一篇分析清楚了,本篇也很简单. 链接:http://showing.blog.51cto.com/11976328/1841564 转换步骤 下面,我们将以IP地址:192.168.1.1为例: 192.168.1.1->倒置顺序->1 1 168 192->分别转换为16进制->1 1 A8 C0->不够两位的补0->01 01 A8 C0-&g

网址(url),域名,ip地址,dns,hosts之间的关系

什么是ip? 我们知道,在Internet上有千百万台主机,为了区分这些主机,人们给每台主机都分配了一个专门的地址,称为IP地址.通过IP地址就可以访问到每一台主机. IP地址由4部分数字组成,每部分都不大于256,各部分之间用小数点分开.例如"百度搜索"主机的IP地址就是:"119.75.217.109,"在浏览器上输入这个IP地址,就可以访问到百度的主页. 我们的每个虚拟主机用户,都分配一个永久的IP地址. 什么是域名? 虽然可以通过IP地址来访问每一台主机,但

IP地址,子网掩码,默认网关,DNS服务器知识详解(转)

转自:http://www.cnblogs.com/JuneWang/p/3917697.html 为了更深入的学习TCP/IP协议,最近看了不少有关资料,收集整理记录如下,以备后面的使用和方便各位学习: IP地址,子网掩码,默认网关,DNS服务器是什么意思? (一)  问题解析 001.   问:  IP地址,子网掩码,默认网关,DNS服务器,有什么区别呀?我知道没有IP地址就不能上网,我也知道没设DNS就不能上外网,可它们都有什么功能,有什么区别呢?还有真奇怪,我的计算机没设DNS,竟然能上

VPN技术:动态IP地址问题

前面的博文已经介绍过了基本的站点到站点VPN,但不管是普通L2L VPN还是GRE.SVTIR技术,都需要互相连接的所有站点都有一个固定的公网IP地址,但是在实际工程中,一些中小型企业,很难满足这样的条件.一些公司总部会使用固定IP地址,但分站往往使用价格低廉的动态IP地址(往往是ADSL接入):还有一些公司站点少,员工少,即使是总部也是使用动态的IP地址.要在这种环境下部署VPN,可以使用下面几种解决方案: 动态crypto map 动态crypto map是普通L2L VPN技术的扩展,要求

IP地址,子网掩码,默认网关,DNS服务器详解

为了更深入的学习TCP/IP协议,最近看了不少有关资料,收集整理记录如下,以备后面的使用和方便各位学习: IP地址,子网掩码,默认网关,DNS服务器是什么意思? (一)  问题解析 001.   问:  IP地址,子网掩码,默认网关,DNS服务器,有什么区别呀?我知道没有IP地址就不能上网,我也知道没设DNS就不能上外网,可它们都有什么功能,有什么区别呢?还有真奇怪,我的计算机没设DNS,竟然能上QQ,却不能打开网页,这是为什么呢> 答:  IP是32位二进制数据,通常以十进制表示,并以“.”分

第九章第十章总结 ip地址等

ip, port 端口, protocal协议. 端口的简单概念: 192.168.33.128 代表一台主机,但是主机上可能会有很多的服务, 一台主机上的不同服务功能,就是通过端口来区分,然后让外部人员能够访问. 当然不是所有的功能都需要端口的,有的服务是机器自己用,所有不需要端口 ,因为不需要对外提供服务. 远程连接服务ssh 22 协议的概念: 就相当于说话的语言,互相都说的是汉语,英语,法语,不同的服务提供了不同 的端口,对应了不同的功能,通信的方式可能也是不同的,这种通信的方式我们 就

域名与IP地址的联系与区别

我们也知道每一台机都有一个唯一ip地址, 特别难记,所以出现了今天的DNS(域名) 当我们的计算机想要和一个远程机器连接时,我们可以申请连接该机器ip地址下的DNS,例如:www.baidu.com. 连接的时候,DNS会提供一个ip地址,供服务器去找寻 所以,当我们在网址中输入:www.baidu.com,会获取到百度ip,并跳转页面 1.比如说:我们现在在"陕西省西安市大雁塔喷泉旁",那么这个"陕西省西安市大雁塔喷泉旁"就是一个域名,而具体的这个唯一的地方(陕西