VC++编写IP所属区域查询工具
2012-02-21 15:24
239 查看
实现原理
我们访问“http://www.baidu.com/s?wd=202.102.123.22&cl=3”这个网址就会返回IP对应的物理地址,因而我们的实现思路就是动态提交IP地址到这个网址,再取回结果。当然,这个工作可不能手工完成,因为这样太笨了
技术重点
虽然我们可以使用HTTP协议来实现,但这样会有点麻烦,所以本文使用了微软提供的 CInternetSession和CHttpFile类来实现,通过CInternetSession的构造函数构建一个连接会话,然后通过 CInternetSession类的OpenURL方法来取得CHttpFile的对像,最后通过ReadString读取返回信息并提取出需要的信息即可。
具体实现
首先新建一个对话框程序,并使用“#include”头文件;然后加入如图1所示的相应控件,之后再为解析按钮加入如下的代码即可。
经过上面的代码处理后,最后的str中得到的就是我们需要的地址了,是不是很简单?呵呵,要知道,简单的就是美丽的
[学习下攻取网页源码的方法吧,这个在我试验的时候已经不能用了,具体的看下面我提供的方式,异曲同工]
百度的IP数据库也是从IP138上来的
进入 IP138 鼠标到查询上可以看见他的链接网页是ips.asp
查询格式为“http://www.ip138.com/ips8.asp?ip=120.14.248.125”
可以把这个网页的代码获取来然后进行拆分获取,代码是GB格式的,不用转码直接使用即可
我们访问“http://www.baidu.com/s?wd=202.102.123.22&cl=3”这个网址就会返回IP对应的物理地址,因而我们的实现思路就是动态提交IP地址到这个网址,再取回结果。当然,这个工作可不能手工完成,因为这样太笨了
技术重点
虽然我们可以使用HTTP协议来实现,但这样会有点麻烦,所以本文使用了微软提供的 CInternetSession和CHttpFile类来实现,通过CInternetSession的构造函数构建一个连接会话,然后通过 CInternetSession类的OpenURL方法来取得CHttpFile的对像,最后通过ReadString读取返回信息并提取出需要的信息即可。
具体实现
首先新建一个对话框程序,并使用“#include”头文件;然后加入如图1所示的相应控件,之后再为解析按钮加入如下的代码即可。
void ::OnOK() { CString m_ReturnStr="";//要返回的物理地址 CString m_ip=""; //需要解析的IP地址 CString straddress("http://www.baidu.com/s?wd="); //构造访问的地址 GetDlgItem(IDC_EDIT1)->GetWindowText(m_ip); straddress+=m_ip; straddress+="&cl=3"; CInternetSession mySession(NULL,0); //构造一个新的会话 CHttpFile* myHttpFile=NULL; CString strline; myHttpFile=(CHttpFile*)mySession.OpenURL(straddress);//打开网址 if(myHttpFile==NULL) { MessageBox("OpenURL ERROR!"); return; } while(myHttpFile->ReadString(strline))//读取返回的内容 { m_ReturnStr+=strline; } m_ReturnStr.Delete(0,m_ReturnStr.Find("来自")+6); CString str=m_ReturnStr.Left(m_ReturnStr.Find(" ")); myHttpFile->Close ; mySession.Close ; }
经过上面的代码处理后,最后的str中得到的就是我们需要的地址了,是不是很简单?呵呵,要知道,简单的就是美丽的
[学习下攻取网页源码的方法吧,这个在我试验的时候已经不能用了,具体的看下面我提供的方式,异曲同工]
百度的IP数据库也是从IP138上来的
进入 IP138 鼠标到查询上可以看见他的链接网页是ips.asp
查询格式为“http://www.ip138.com/ips8.asp?ip=120.14.248.125”
可以把这个网页的代码获取来然后进行拆分获取,代码是GB格式的,不用转码直接使用即可
相关文章推荐
- ip数据库可查询该IP所属的区域
- ip所在地接口,查询该IP所属的区域
- python学习之编写查询ip程序
- 利用纯真ip地址库 查询 ip所属地
- 编写自己的代码生成工具四:数据库信息查询实现
- python学习之编写查询ip程序
- 查询IP所属地
- python学习.编写查询ip程序 推荐
- ip对应的区域查询(asp.net版)
- nslookup工具查询域名服务器、IP、CNAME等详细用法
- python解析网页查询IP所属地
- 查找IP位置 \ c# 通过经纬度 查询地址、区域信息
- 用VC编写的SN快速输入工具
- WMI技术介绍和应用——使用VC编写一个半同步查询WMI服务的类
- VC 小工具里应用到excel做数据库时的查询与写入操作
- WMI技术介绍和应用——使用VC编写一个半同步查询WMI服务的类
- VC编写其它开发工具调用的DLL
- 转载:ip对应的区域查询(asp.net版)
- ip对应的区域查询(php版)
- ip对应的区域查询(asp.net版)