能力值:
( LV2,RANK:10 )
|
-
-
2 楼
此函数能够得到一个类似:
"document.write('<a href="http://union.itlearner.com/ip/ipinfo.asp">
您的IP是:xxx.xxx.xxx.xxx 所在区域:xx市</a>');"
的字符串给你,接下来该怎么办就看你自己的了.
void GetRealIp()
{
CInternetSession session;
CHttpFile* pFile = NULL;
CString strHttp = _T("http://union.itlearner.com/ip/getip.asp");
try
{
pFile = (CHttpFile*)session.OpenURL(strHttp);
}
catch(CInternetException* e)
{
pFile = NULL;
TCHAR error[255];
e->GetErrorMessage(error, 255);
TRACE(_T("error: %s\n"), error);
e->Delete();
return;
}
if(pFile != NULL)
{
CString strTemp = _T("");
CString strIPAddress = _T("");
while(pFile->ReadString(strTemp)) //读入该字符串
{
strIPAddress += strTemp;
}
TRACE(_T("%s\n"), strIPAddress);
pFile->Close();
delete pFile;
pFile = NULL;
}
}
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
另外听说还可以通过STUN协议获取公网IP地址,请哪位朋友讲解一下???
|
能力值:
( LV4,RANK:50 )
|
-
-
4 楼
gethostbyname返回的是一个结构体指针,里面包含了计算机使用的所有ip,开始多数是显示内网IP,只要移动指针,就可以看到外网IP了~~~
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
最初由 lemony 发布 gethostbyname返回的是一个结构体指针,里面包含了计算机使用的所有ip,开始多数是显示内网IP,只要移动指针,就可以看到外网IP了~~~
这个我也想知道,有没有具体的例子?有就太好了
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
最初由 lemony 发布 gethostbyname返回的是一个结构体指针,里面包含了计算机使用的所有ip,开始多数是显示内网IP,只要移动指针,就可以看到外网IP了~~~ for (int i=0; phostLocal->h_addr_list[i]+phostLocal->h_length!=phostLocal->h_name; i++)
{
arrstrIP.Add(inet_ntoa( * (IN_ADDR*) phostLocal->h_addr_list[i] ));
}
是指这样移动指针吗???
这样取出来的IP地址是一台计算机安装了多块网卡或者虚拟网卡的所有IP地址,
都是子网地址,无法获取公网地址 不知道我的写法对不对?
|
能力值:
( LV8,RANK:130 )
|
-
-
7 楼
最初由 masmprogra 发布 for (int i=0; phostLocal->h_addr_list+phostLocal->h_length!=phostLocal->h_name; i++) { arrstrIP.Add(inet_ntoa( * (IN_ADDR*) phostLocal->h_addr_list )); }
........
对经过路由的就没有用,取IP还是得跟路由通信的
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
我在网上找了一个NetServerGetInfo(),这个函数好像可以,不过不知道怎么用法?
|
能力值:
( LV2,RANK:10 )
|
-
-
9 楼
?於?咀而言,只有router才知道?外的真?IP,
router?把送出去和?咄?的packet都做手倪
所以,?就server本身而言,那?192.168.xxx.xxx
就是它的"真?"IP,router做了什?,server本身是不?知道的
想知道自己的"真?"的IP的?,最??的方法是透咿?外?劳,因??你送出packet到外面去?,router必??packet?手倪,把真?的?外IP斤?上,所以?方可以知道你的真?的IP
可以?? http://checkip.dyndns.org/
|
能力值:
( LV2,RANK:10 )
|
-
-
10 楼
最初由 xiluoyou 发布 我在网上找了一个NetServerGetInfo(),这个函数好像可以,不过不知道怎么用法?
楼主,这个函数好像不行,你可以查看MSDN的帮助,我在单位用的也是局域网IP,用这个函数只能看见本机的所有信息,其他机子的信息全部无法访问,不知是无权限访问还是怎么?
没有其他好的办法只有用我上面提供给你的函数了,那个函数需要添加头文件<afxinet.h>,我一直在用那个函数,没出过什么问题,如果你找到其他好的办法可以给我发个短消息,大家一起学习进步.
|
能力值:
( LV2,RANK:10 )
|
-
-
11 楼
最初由 memxie 发布 ?於?咀而言,只有router才知道?外的真?IP, router?把送出去和?咄?的packet都做手倪 所以,?就server本身而言,那?192.168.xxx.xxx 就是它的"真?"IP,router做了什?,server本身是不?知道的
........
网址好像连不上?
|
能力值:
( LV2,RANK:10 )
|
-
-
12 楼
和上面提到的http://union.itlearner.com/ip/getip.asp是一?的意思
就是?方的server?把你的IP回?斤你
|
能力值:
( LV2,RANK:10 )
|
-
-
13 楼
最初由 memxie 发布 和上面提到的http://union.itlearner.com/ip/getip.asp是一?的意思 就是?方的server?把你的IP回?斤你
呵,看来2楼的方法是唯一的啦?不过我不怎么喜欢用MFC类(说白了就是不会用!)
|
|
|