VC获取外网IP
#include <afxinet.h>
#include <iostream>
using namespace std;
int main()
{
CInternetSession session(_T("cctry.com"));
CHttpFile *pFile = NULL;
CStdioFile *ptFile = NULL;
CString strTemp = _T("");
DWORD dwStat = 0;
try
{
pFile = (CHttpFile *)session.OpenURL(_T("http://ip.dnsexit.com"));
pFile->QueryInfoStatusCode(dwStat);
if(dwStat == HTTP_STATUS_OK)
{
ptFile = (CStdioFile *)pFile;
cout<<_T("GetVerb : ")<<pFile->GetVerb()<<endl;
cout<<_T("GetObject : ")<<pFile->GetObject()<<endl;
cout<<_T("GetFileURL: ")<<pFile->GetFileURL()<<endl;
while(ptFile->ReadString(strTemp))
cout<<_T("serverIP : ")<<strTemp<<endl;
pFile->Close();
session.Close();
return 0;
}
}
catch(CException* e)
{
cout<<_T("open url failed")<<endl;
return -1;
}
return -1;
}

#include <iostream>
#include <string>
#include <cstdlib>
#include <afxinet.h>
using namespace std;
CString GetHtml(CString url)
{
CString content;
CString data;
DWORD dwStatusCode;
CInternetSession session("HttpClient");
CHttpFile* pfile = (CHttpFile *)session.OpenURL(url);
pfile -> QueryInfoStatusCode(dwStatusCode);
if(dwStatusCode == HTTP_STATUS_OK)
{
while (pfile -> ReadString(data))
{
content += data;
}
}
pfile -> Close();
delete pfile;
session.Close();
return content;
}
int main()
{
cout << GetHtml("http://ip.dnsexit.com/index.php") << endl;
return 0;
} Keep it simple!

浙公网安备 33010602011771号