主题:获取外网ip地址
我想获取我的外网的IP地址 ,不是本机的IP ,而是我网线的IP,代码如下:
void CGetNetIPDlg::OnBnClickedStart()
{
// TODO: 在此添加控件通知处理程序代码
SetDlgItemText(IDC_NET_IP,L"正在获取外网IP...");
CString strsource,str;
CString Address;
CInternetSession mySession(NULL,0);
CHttpFile* myHttpFile=NULL;
Address="http://www.ip138.com/ip2city.asp";//ip138网页
myHttpFile=(CHttpFile*)mySession.OpenURL(Address,1,1,0,0);//读取网络地址
while(myHttpFile->ReadString(strsource))
{ //循环读取下载来的网页文本
//AddToLog(strsource);
str=strsource;
int begin=0;
begin=strsource.Find(L"[",0);
if(begin!=-1)//如果找到"[", 则找"]" 中括号内的文本则是 你的外网ip
{
int end=strsource.Find(L"]");
m_internetip=strsource.Mid(begin+1,end-begin-1);//提取外网ip
SetDlgItemText(IDC_NET_IP,m_internetip);//在左下角显示外网ip
UpdateData(false);
}
}
}
运行时下面这段代码不执行:
if(begin!=-1)//如果找到"[", 则找"]" 中括号内的文本则是 你的外网ip
{
int end=strsource.Find(L"]");
m_internetip=strsource.Mid(begin+1,end-begin-1);//提取外网ip
SetDlgItemText(IDC_NET_IP,m_internetip);//在左下角显示外网ip
UpdateData(false);
}
我觉得可能是这两段代码的问题,即
myHttpFile=(CHttpFile*)mySession.OpenURL(Address,1,1,0,0);//读取网络地址
while(myHttpFile->ReadString(strsource))//循环读取下载来的网页文本
我不知到问题出在了哪里了,向各位请教!谢谢!
void CGetNetIPDlg::OnBnClickedStart()
{
// TODO: 在此添加控件通知处理程序代码
SetDlgItemText(IDC_NET_IP,L"正在获取外网IP...");
CString strsource,str;
CString Address;
CInternetSession mySession(NULL,0);
CHttpFile* myHttpFile=NULL;
Address="http://www.ip138.com/ip2city.asp";//ip138网页
myHttpFile=(CHttpFile*)mySession.OpenURL(Address,1,1,0,0);//读取网络地址
while(myHttpFile->ReadString(strsource))
{ //循环读取下载来的网页文本
//AddToLog(strsource);
str=strsource;
int begin=0;
begin=strsource.Find(L"[",0);
if(begin!=-1)//如果找到"[", 则找"]" 中括号内的文本则是 你的外网ip
{
int end=strsource.Find(L"]");
m_internetip=strsource.Mid(begin+1,end-begin-1);//提取外网ip
SetDlgItemText(IDC_NET_IP,m_internetip);//在左下角显示外网ip
UpdateData(false);
}
}
}
运行时下面这段代码不执行:
if(begin!=-1)//如果找到"[", 则找"]" 中括号内的文本则是 你的外网ip
{
int end=strsource.Find(L"]");
m_internetip=strsource.Mid(begin+1,end-begin-1);//提取外网ip
SetDlgItemText(IDC_NET_IP,m_internetip);//在左下角显示外网ip
UpdateData(false);
}
我觉得可能是这两段代码的问题,即
myHttpFile=(CHttpFile*)mySession.OpenURL(Address,1,1,0,0);//读取网络地址
while(myHttpFile->ReadString(strsource))//循环读取下载来的网页文本
我不知到问题出在了哪里了,向各位请教!谢谢!