win32的API有没办法获取本机的外网IP地址??
时间:2011-12-13
来源:互联网
注意,我说的是外网IP地址,而不是局域网IP
作者: weiwuyuan 发布时间: 2011-12-13
如果是系统直接ADSL拔号,可以参考下面的代码
C/C++ code
如果机器使用的是路由器,那好像就没办法用API来直接获取
只能使用Internet的API来利用网页(例如:www.ip138.com),分析源代码取得外网IP了
C/C++ code
#include"iphlpapi.h" #pragma comment(lib,"Iphlpapi.lib") PIP_ADAPTER_INFO pAdapterInfo; DWORD AdapterInfoSize; TCHAR szMac[32] = {0}; DWORD Err; AdapterInfoSize = 0; Err = GetAdaptersInfo(NULL, &AdapterInfoSize); if((Err != 0) && (Err != ERROR_BUFFER_OVERFLOW)){ return FALSE; } // 分配网卡信息内存 pAdapterInfo = (PIP_ADAPTER_INFO) GlobalAlloc(GPTR, AdapterInfoSize); if(pAdapterInfo == NULL){ return FALSE; } if(GetAdaptersInfo(pAdapterInfo, &AdapterInfoSize) != 0){ GlobalFree(pAdapterInfo); return FALSE; } PIP_ADAPTER_INFO pAdapter = NULL; pAdapter=pAdapterInfo; while(pAdapter) { //pAdapter->IpAddressList.IpAddress.String 这里面是各个连接的IP地址, //本地连接的宽带拔号的IP地址都在,自己分析一下 //连接类型参考pAdapter->Type的值(PCI网卡,无线网卡,PPPOE,VPN)具体怎么分不清楚 pAdapter = pAdapter->Next; } GlobalFree(pAdapterInfo);
如果机器使用的是路由器,那好像就没办法用API来直接获取
只能使用Internet的API来利用网页(例如:www.ip138.com),分析源代码取得外网IP了
作者: SilenceNet 发布时间: 2011-12-13
引用 1 楼 silencenet 的回复:
如果是系统直接ADSL拔号,可以参考下面的代码
C/C++ code
#include"iphlpapi.h"
#pragma comment(lib,"Iphlpapi.lib")
PIP_ADAPTER_INFO pAdapterInfo;
DWORD AdapterInfoSize;
TCHAR szMac[32] = {0}; ……
如果是系统直接ADSL拔号,可以参考下面的代码
C/C++ code
#include"iphlpapi.h"
#pragma comment(lib,"Iphlpapi.lib")
PIP_ADAPTER_INFO pAdapterInfo;
DWORD AdapterInfoSize;
TCHAR szMac[32] = {0}; ……
获取网卡信息(包括MAC,IP地址)的代码我有,这个我回去找一下。
那你的意思说,如果我的电脑有外网IP,那么可以直接通过查询网卡信息,来得到外网IP?
而如果没有外网IP,(比如共享别人的网络)就得不到是么?
作者: weiwuyuan 发布时间: 2011-12-13
引用 2 楼 weiwuyuan 的回复:
获取网卡信息(包括MAC,IP地址)的代码我有,这个我回去找一下。
那你的意思说,如果我的电脑有外网IP,那么可以直接通过查询网卡信息,来得到外网IP?
而如果没有外网IP,(比如共享别人的网络)就得不到是么?
获取网卡信息(包括MAC,IP地址)的代码我有,这个我回去找一下。
那你的意思说,如果我的电脑有外网IP,那么可以直接通过查询网卡信息,来得到外网IP?
而如果没有外网IP,(比如共享别人的网络)就得不到是么?
是这个意思,如果宽带连接上了,GetAdaptersInfo是有返回宽带连接的IP地址等信息的
作者: SilenceNet 发布时间: 2011-12-13
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28