SYF's SKY
亡羊补牢,为时未晚。
20081020重要更新

这是所有更新中技术含量相对比较高的一次,增加了显示来访者地理位置的功能。

忙碌了周末两天,终于在周一完成了收尾。成功实现了asp读取纯真IP数据库(QQWry.dat)的功能,非常兴奋哦~~

原理也不难,可惜参考的资料不多(不多到只搜到Luma的一篇文章:http://lumaqq.linuxsir.org/article/qqwry_format_detail.html)。

难点:

1、QQWry.dat采用ANSI编码,而非Unicode。

用vbscript的chr()不能正确显示(网上很多资料都利用这种方法,可惜我自己调试不成功),而chrw()入口必须是汉字的Unicode编码才能正确显示,ANSI编码的不能正确显示。这种情况下,只能用adodb.stream的read读取二进制流,readtext读取ANSI字符串(要设置charset属性为GB2312)。

2、国家、地区信息的长度判断。目前只计算了字节长度,显然字节长度>=信息长度,所以可以完整读取信息。不过仍然有待改进。

3、存储模式的判断。Luma的文章给出了四种存储模式。实际调试的时候发现部分信息有乱码,经调试,发现还有两种模式(一共有六种模式,测试过连续几百个IP,没有一个乱码)。所以,99%确定QQWry.dat的编码曾经优化过(纯粹我的胡扯哈~)。

4、搜索索引区。Luma推荐的是二分查找法,我也用了这种方法,效率无疑提高了非常非常多倍。

为了弄这个周末把我家笨笨又抛在一边了,可怜巴巴的我家笨笨为我洗菜做菜陪我说话帮我斗地主,给我温暖胜似太阳N倍。笨笨我非常非常爱你~我也会一如既往一成不变一心一意专心致志至死不渝地陪我家笨笨。

最后还是要感谢QQWry.dat的作者金狐(www.cz88.net)和Luma以及“那唯一一份文档的作者”。

Trackblog地址:trackblog.asp?TrackblogID=1108
快来评论吧,欢迎欢迎,热烈欢迎^_^
[1]小本本|2008年10月20日

可怜巴巴嘞!可怜巴巴嘞!

[2]syf|2008年10月20日

乖乖乖乖,宝贝你~~~~

聚博
(选)
姓名
(必)
Email
(选)
博客
http://
(选)
验证码
(必)
内 容
(必)
(您的留言会马上发到我的手机上,一般几分钟后就能看到我的回复了^_^)
Copyright©2008~2010 syf's sky,All Rights Reserved