得到外网IP

/************************************************************************/        
/* 函数说明:获取当前外网IP地址                                           
/* 参    数:无                                       
/* 返 回 值:返回外网IP地址、CString类型字符串        
/* By:Koma   2009.08.21 14:12                                    
/************************************************************************/    
CString CQDlg::GetIPAddress()   
{   
    char buf[MAX_PATH] = {0};   
    char chTempIp[128];   
    char chIP[64];   
    CString strPath;   
    strPath = GetExePath() + "\\netip.ini";   
    URLDownloadToFile(0,"http://www.ip138.com/ip2city.asp",strPath,0,NULL);   
       
    FILE *fp=fopen( strPath, "r" );   
    if ( fp != NULL )    
    {   
        fseek(fp, 0, SEEK_SET);   
        fread(buf,1,256,fp);   
        fclose(fp);   
        char* iIndex = strstr(buf,"[");   
        if (iIndex)    
        {   
            sprintf( chTempIp,"%s",iIndex);   
            int nBuflen = strlen(chTempIp);   
            for(int i =0; i<nBuflen; i++)   
            {   
                chIP[i] = chTempIp[i+1];   
                   
                if(chTempIp[i] == ']')    
                {   
                    chIP[i-1] = '\0';   
                    DeleteFile(strPath);   
                    continue;   
                }   
            }   
        }   
    }   
    CString strTemp="";   
    if(chIP != "")   
    {   
        strTemp.Format("%s",chIP);   
    }   
    return strTemp;   
}   
  
/************************************************************************/        
/* 函数说明:获取当前主机名                                           
/* 参    数:无                                       
/* 返 回 值:返回主机名、CString类型字符串        
/* By:Koma   2009.08.21 14:23                                    
/************************************************************************/      
CString CQDlg::GetHostName()   
{   
    WORD 		wVersionRequested;   
    WSADATA 		wsaData;   
    int 		err;   
    wVersionRequested = MAKEWORD(2,0);   
    err = WSAStartup(wVersionRequested,&wsaData);   
    if(err != 0)   
    {   
        return err;   
    }   
    if(LOBYTE(wsaData.wVersion != 2) || HIBYTE(wsaData.wVersion) != 0)   
    {   
        WSACleanup();   
        return (char)WSAVERNOTSUPPORTED;   
    }   
       
    char    szHostName[256];   
    int     nRetCode;   
    CString str="";   
       
    //调用API来获得主机名   
    nRetCode = gethostname(szHostName,sizeof(szHostName));   
    if(nRetCode != 0)   
    {   
        return WSAGetLastError();   
    }
    if(szHostName != "") 
    {
    		str.Format("主机名:%s",szHostName);
    }   
    return str;   
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值