分类目录归档:我的生活

查询域名状态(用python解析网页返回的XML数据,gd转utf8)

一段Python代码测试域名是否可以注册。用到了panda.www.net.cn提供的一个接口,返回的是一个XML数据。

例如
在浏览器里输入

http://panda.www.net.cn/cgi-bin/check.cgi?area_domain=xiaoxia.org

返回值是

<?xml version="1.0" encoding="gb2312"?>
<property>
<returncode>200</returncode>
<key>xiaoxia.org</key>
<original>211 : Domain name is not available</original>
</property>

使用xml.etree.ElementTree来解析上面的XML数据。
因为它不支持gb2312,所以需要在解析前,转换成utf-8格式的。
然后判断original的值来得知域名是否可用。 继续阅读

国内域名注册商的技术有待提高……

停站3天了,今晚把域名的问题解决了,最后竟然还是我自己解决的。

好吧,追寻一下原因!

5月14日,域名过期后的一个小时内,我完成了续费。但是域名还是无法使用,nslookup找不到域名。

5月15日,域名仍然无法使用。
1、我尝试打二级注册商的固化或者手机联系客服,结果固化没人接,所有手机关机。网页客服半天才回我这个老客户一句话。好不容易找到技术人员进行网页对话,说域名过期是我的错,叫我等72小时候再找他解决。
2、我尝试写投诉信给ICANN,结果提示我在一周内已经写过投诉信了,提交失败。
3、我打电话给域名的一级注册商,技术人员说24小时候会恢复正常,叫我稍等。

5月16日,域名依旧无法使用。
1、我又去联系二级注册商的客服,这次是他们说域名客服不在,叫我明天再联系他们。
2、我又去联系一级注册商的客服,这次说我的域名正常,没有发现任何问题。叫我去whois一下。
3、我whois了一下,没看懂,发现别人的域名有Status: OK, 而我的却是Status: RENEWPERIOD,没有OK,不会看!nslookup依然提示找不到域名。
4、我去域名控制面板里修改了DNS,然后神奇的复活了。

总结原因如下,
域名过期那一刹那,注册商的域名管理系统里把我的域名锁定了,NS条目删除了。域名续费后,他们又没有帮我恢复NS的条目,虽然我打开域名管理系统,依然能清晰地看到那两个NS服务器,但是没有被实际生效。
直到我重新刷了一下NS服务器,一切都恢复正常!

好吧!本来瞬间可以解决的问题,却被某些客服的回答耽误了我三天时间。
啊!!我的网友们,我好想念你们……

MyQQ3.30发布

声明
MyQQ is a cross-platform library for communication which uses a TencentQQ-like protocol to communicate with friends on the Internet. It can work well now and maintained by Xiaoxia.

Current Version: 3.30
Protocol Verison: 2011 Beta2

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!WARNING!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
myqq3是个实验品,仅供研究和探讨,勿用于其他用途。它的不稳定性以及时效性可能会导致灾难性的后果!!!

Win32 & Win64 Package 下载
myqq3.30

Source Code:
See http://code.google.com/p/myqq3/
继续阅读

利用多线程传输原理实现的网络媒体传输加速(附实验代码)

本文提及的的多线程传输指多通道传输。

原理:

把一些多线程的下载技术(例如flashget、网络蚂蚁所用到的),改进为一种数据缓冲技术,应用在文件、媒体等数据传输上。HTTP支持通过Range域来指定开始传输一个资源数据的起始位置。

实验测试:

在宿舍用CMCC的WLAN从www.xiaoxia.org下载一个13MB的文件,
单线程传输平均速度:14kB/s
8个线程传输平均速度:134kB/s

测试发现8个线程的平均传输速度比1个线程的平均传输速度要快,这是为什么呢?

继续测试发现,单个线程传输的时候,速度可能会慢慢减小,所以最后只剩下可怜的14kB/s的平均速度了。而在我实现的网络加速程序里,每个连接的生命时长大概只有10几秒钟,所以它们的速度可以保持很好。


继续阅读

用C++写邮件服务器,用上DKIM,可以给陌生人发正常邮件了

研究完SMTP协议,也涉猎了不少RFC文档,粗粗略略了解到不少东西。一开始在自己电脑用telnet给对方直接发送电子邮件,只要发送方的邮箱地址不在对方的联系人中,都被直接视为垃圾邮件了。后来给在服务器上测试,给邮箱域名增加了SPF记录,但是效果不是很明显,还是大部分被视作垃圾邮件了。具体操作可以参见百度百科:SPF记录

奇怪的是,我发现不少网站的邮箱服务器也只有SPF记录,甚至有的没有设置SPF记录(例如dot.tk),都可以正常发送到我邮箱里。或许我的IP段不好吧。据说,支持DKIM数字证书的邮箱服务器更能有效地防止垃圾邮件,所以我决定让我的邮箱服务器也支持DKIM的签名。

我在服务器端使用GPL发布的PDKIM库实现的数字证书签名功能。说到数字证书,就想到RSA了,又想到Public Key和Private Key。这个Public Key是存放在DNS上某域名的TXT记录里,跟SPF记录的做法差不多。Private Key是邮箱服务器发信的时候,用来对邮件内容产生一个Hash字段的。

例如,我使用PDKIM产生的是:

DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mail.xiaoxia.org; 
    s=s1;h=Content-Transfer-Encoding:Content-Type:To:From:Subject; 
    h=qc1pcFZEKobZ5/u35TeoRGObVNBgyRTlkjjKiya6CZk=;
    b=o4a6wMV6C8Me9TJMvv7gb233or0Qam+R8dhwDkXUgArTGcbS0El8YyYM527MdJpQSnlT9QicPi
    MSKQOY8GEcCKC2J9WIHnpxlMfqv+e+7N+HnMUyBjYTdtu8Yu1LD0CQhf1iDywBmYquwue5ON+7hp1taF7lLnfsNwyyramzYrE=;

今天测试的时候,一直遇到问题,在PDKIM库中出现异常。今晚才发现问题所在,原来是我末尾少了一个”\r\n”导致的。给Gmail发送了一封邮件,显示DKIM数字签名已通过!!!


继续阅读