入口链接:(http://2019.ip138.com/ic.asp)
代码:
char buf[300] = {}; // 把从网页中读出的数据放在此处
char strIP[16] = {}; // IP 最终存放处
char fileName[] = "c:\\users\\fire\\desktop\\ip.txt_net";
// 将网页数据写入 c:\users\fire\desktop\ip.txt_net 文件中
URLDownloadToFile(0, _T("http://2019.ip138.com/ic.asp"), CString(fileName), 0, NULL);
FILE* fp = fopen(fileName, "r");
if (fp) // 文件打开成功
{
fseek(fp, 0, SEEK_SET); // 以文件头为基准,偏移 0 个字节,即文件指针 指向 文件开始
fread(buf, 1, sizeof(buf), fp);
fclose(fp);
// 在 buf 中查找 '[' 的位置,在 '[' 和 ']' 之间的就是 IP 地址
char* iIndex = strstr(buf, "[");
char* iEnd;
if (iIndex) // iIndex 为 '[' 首次出现的地址
{
iEnd = strstr(iIndex, "]");
strncpy(strIP, iIndex + 1, iEnd - iIndex - 1);
}
else
{
MessageBox(_T("所查询的网页没有 IP 地址"));
}
}
else // 文件打开失败
{
CString err;
err.Format(_T("%d"), errno);
MessageBox(_T("打开文件出错,错误代码:" + err));
}
remove(fileName); // 删除文件
网友评论