用C语言编写程序如何获得外网的IP的地址
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用C语言编写程序如何获得外网的IP的地址相关的知识,希望对你有一定的参考价值。
//通过ip138网站来查询外网IP的#include <afxinet.h>
void CLanChatDlg::GetNetIP()
SetDlgItemText(IDC_NET_IP,"正在获取外网IP");
CString strsource;
CString Address;
CInternetSession mySession(NULL,0);
CHttpFile* myHttpFile=NULL;
Address="http://www.ip138.com/ip2city.asp";//ip138网页
myHttpFile=(CHttpFile*)mySession.OpenURL(Address);//读取网络地址
while(myHttpFile->ReadString(strsource))
//循环读取下载来的网页文本
// AddToLog(strsource);
int begin=0;
begin=strsource.Find("[",0);
if(begin!=-1)//如果找到"[", 则找"]" 中括号内的文本则是 你的外网ip
int end=strsource.Find("]");
m_internetip=strsource.Mid(begin+1,end-begin-1);//提取外网ip
SetDlgItemText(IDC_NET_IP,m_internetip);//在左下角显示外网ip
参考技术A 百度搜索,直接搜ip,就会显示,,,,所以,可以模拟浏览器做这个搜索,然后解析返回的html
~~~~~~~~~
FTP服务器 在公网用pasv模式访问 提示返回的地址是内网的IP和端口
FTP服务器(server-u), 在公网用被动连接模式访问, 提示返回的地址是内网的IP和端口 。
网络拓扑如下
---internet---防火墙---路由器---FTP服务器
请问该如何设置?!
(备注:公网用主动连接模式能正常访问)
只能大概给你说一下。
Serv-U的域设置或者域详细信息里,找到域的监听器。
里面有个pasv ip地址,是填被动模式使用的外网地址或者域名。
填写后可以解决。 参考技术A 做映射啊啊啊 啊啊啊啊啊追问
如果只是做映射 我就不提问了
以上是关于用C语言编写程序如何获得外网的IP的地址的主要内容,如果未能解决你的问题,请参考以下文章