13/12/2009
PyFetion新版本发布,协议根据移动09.11.04的飞信版本:Fetion2008 3.5.2(安全加强版)
更新内容包含:
- 增加查看飞信好友是否隐身功能
- 增加登录时状态的选择[隐身 在线 忙碌 离开]
- 日志改用Python的logging模块
- 增加对好友状态改变的处理( 如上线等)
- 重写TCP方式中的底层通信函数
- 使用对列保存接收到的多余消息( 例如发短信时本来应该返回200 OK 却先来了个BN通知消息,以前这样会出错,现在底层会把BN消息放在队列中,返回200 OK)
- 修改了一些异常处理方式
- 增加登出,删除好友函数
- 改写get_contactlist函数,使用一个dict保存当前的好友列表
- 增加一个receive函数 做客户端的时候可以在一个线程中主调用该函数,所有的消息都会yield出来(请参考fetion.py)
- 修正向PC发送消息的命令,飞信新增加了一个CatMsg的命令
- 增加接收从最新版本PC端发送的消息功能;这个比较麻烦新版本飞信对每一个新会话使用fork出一个线程的方式;
John先给服务器说我要开个新会话,服务应答一个消息说,你去这个IP吧,带着这个密钥 于是John就连到了这个IP,并使用这个密钥登录,接着发一个包含Bob的uri的邀请命令; 服务器把这个通知(包含IP 密钥和邀请者John的uri)给Bob,Bob收到服务器的通知后也用同样的密钥登录该IP 这时John收到Bob进入会话的消息,他就开始正式发消息了
- 许多清理了修正
- 调整类的结构
- 改用MIT License
- 增加了一个CLI的飞信客户端 跨平台支持
- Fedora8 Python2.5。1测试;Windowx XP Python2.6.4测试;Win7 Python2.6.2测试
- 我忘记在这里列出来的
fetion.py一个CLI的飞信客户端
- 多线程支持,同时收发消息
- 添加,删除,好友,判断好友是否隐身功能
- 占用资源少,我正写这博客的时候官方的飞信占我96.8M的内存
- 跨平台支持
- 扩展性好,加两行代码就可以实现从手机发命令关机等功能
- 其它我没发现的
8/12/2009
不知道标题用什么好,用iis建立一个网站和apache建立一个网站,同时指向同一个文件夹,下载文件,在iis下完全下载完毕,但在apache就出现了奇怪的问题,文件中一部分不见了,然后把前面一部分复制到了后面,像下图那样:

在网上也找不到解决方法,唯一在这里找到相似的个案,试过重装apache ,但是还是不能解决。
27/11/2009
现在的空间支持CGI,正好尝试一下在MT(MediaTemple)上装MT(MovableType),现在又SSH,下载很简单
wget http://www.movabletype.org/downloads/stable/MTOS-4.32-en.zip
速度很快,1.9M的下载速度解压缩,把mt目录复制到cgi-bin下面,把mt-static复制到网站根目录,然后打开mt-wizard.cgi配置安装,但是却提示
Got an error: Base class package "Class::Accessor::Fast" is empty.
Google上也找不到相关问题,这次安装只好到这里结束。
27/11/2008
很久没写过技术性的文章了,其实也谈不上技术,只是一些些心得。
最近在写一个网站的接口,为了给聘博网做外呼用,做成接口是因为可能不止聘博网会用,计划做成一种服务,至于做什么就不详细说了。很多Web2.0网站都提供了Api接口,有些是每一次操作都是发送帐号和密码到服务器验证,有些是第一次是到服务器验证,得到一串字符串,根据这串字符串进行验证。
我的方法是采用第二种,首先分配一个api key和api id给网站A,api key是一串md5加密的字符串,api id是数字是用来查找api key的,每个网站都不相同,每次发送请求时先签名,签名的方法和支付宝得差不多,如:
要发送的参数是a=1&c=3&b=2 签名使用升序进行排序,排序后是a=1&b=1&c=1然后用api key进行md5加密生成md5加密字符串如a79fa25b63a27ef459bf7c1f72b7ac32,然后用作为一个参数请求最后生成下面的URL http://www.xx.com/?a=1&b=1&c=1&api_id=1&sign=a79fa25b63a27ef459bf7c1f72b7ac32
上面就是签名的生成方法,用户登录时得到第一次得到的md5验证字符串,我叫它token,还有token的id,都把它存到用户的数据库中,以后每次请求需要认证时,每次签名都用token在加密一次生成签名,发送请求时加上token id 即http://www.xx.com/?a=1&b=1&c=1&&api_id=1&token_id=1&sign=90045d980fcc48a35c3aab0e042dfa77,服务器端根据token_id查找token,根据api_id查找对应的api_key,然后再用同样的方法md5加密得到签名和发送过来的签名对比就知道数据有没有被改动,因为在认证过程中apikey和token不会被公开所以地址不会被伪造。如果要更安全,网站A可以做一个验证地址,服务器到客户端验证一次是否数据在网站A发送,就可以知道是否通过请求。
接口服务器可以保存token可以用xml,数据库等存放起来,而网站A则把第一次认证得到的token信息保存到用户表中。
Technorati 标签:
网站,
api,
登录,
认证
19/05/2008
据中国政府网报道,国务院发布公告宣布,为表达全国各族人民对四川汶川大地震遇难同胞的深切哀悼,国务院决定,2008年5月19日至21日为全国哀悼日。
公告全文如下:
国务院公告
为表达全国各族人民对四川汶川大地震遇难同胞的深切哀悼,国务院决定,2008年5月19日至21日为全国哀悼日。在此期间,全国和各驻外机构下半旗志哀,停止公共娱乐活动,外交部和我国驻外使领馆设立吊唁簿。5月19日14时28分起,全国人民默哀3分钟,届时汽车、火车、舰船鸣笛,防空警报鸣响。
不要奇为什么这个Blog会变成灰色,因为加入了此段代码,为了为列难者哀悼,这三天Blog的颜色变成灰色。
在您的网站CSS中加入以下代码(FireFox不支持):
html { filter:progid:DXImageTransform.Microsoft.BasicImage(grayscale=1);}
Technorati 标签:
四川,
地震,
汶川,
哀悼,
国务院,
下半旗
29/04/2008
升级到2.5已经有一段时间了,但在后台却找不到相应的选项开启GZIP,原来在新版本的WP中已经取消了GZIP开启的选项,交由服务器决定是否开启GZIP,换句话说如果服务器不开启的话你的BLOG就不会开启GZIP了,GZIP看到ZIP就知道是压缩,压缩有什么好处,就是节约下载时间,因为压缩了大小,文件小了,自然下载时间就短了,当然服务器的流量也减少了不少。
开启GZIP的方法:
如果你的服务器使用的是Apache2的话可以使用mod_deflate组件部署GZIP,当然你也可以下载这个插件来增加开启GZIP的选项,下载激活后可以在Setting -> Reading里面找到相应的选项。
p.s: 至于你的BLOG是否开启了GZIP可以到这个地址查询。
31/03/2008
刚开始学php,虽然还是不断的查手册,不过学习还是比较快的,而且是一边学习一边做项目,以前一直用asp写程序,我是尽量是MVC模式写的,所以转到php也是这样这样写。我学php是这样开始的,公司有一个人才招聘的项目,已经在进行之中,是用FLEAPHP框架作为基础的,为了开发的方便我一开始就使用FLEAPHP来写项目,在看源代码的基础上结合PHP手册就已经开始写了,碰到的问题有很多:
连接符号,在asp我是用jscript写的,连接的符号是用“+”,但是php里面连接符是“.”,开始的时候不适应,写完后一大推错误。
编码问题,到现在我还没有完全解决,程序用的是UTF-8,遍历文件目录得到的文件名是GBK的,要转成UTF-8才能存入数据库,用iconv函数转,据说不能用在linux服务器上,手头上没有 linux所以不能验证是不是真的。
文件下载问题,用php实现文件的强制下载,我估计也是编码的原因,用FLEAPHP自带的SendFile类一直不能成功,最后自己另外写个小程序搞好的。
不知道是什么问题在IIS环境下,FLEAPHP的fileupload类不能上传文件,我估计这和权限有关,在APMServ下就可以。
还有很多很多的问题,可能是我不太熟吧,要比别人花更多的时间去解决。
Technorati 标签:
php,
学习,
asp,
jscript,
FleaPhp,
项目,
IIS,
Linux,
APMServ,
编码,
MVC
21/02/2008
刚开始接触Fleaphp这个php框架,看了一下,发现挺容易入手的,而且同事也正在用这个做开发,大家统一一下也挺好的,这段时间公司发生了很多事,由于某些原因,又要做一下开发了,项目不太,刚好可以用fleaphp练习一下。
看了几天教程,有了大概的了解,项目暂地还没有一下正式的名称,所以我起了个代号,最近kira很受欢迎,所以项目我起名叫Project Kira,show一下暂定的目录结构:

开发的工具,包括自家hp笔记本一台、APMServ运行环境、MySql5、Zend Studio 5.5、Firefox、还有IE7,暂时还没到网页的调试,不需要多个浏览器测试,这样随时想到就可以做了,不过最好就是有网络啦,租的地方只有一户有宽带,还是电信512M三、四个人分,速度不敢恭维,正在托朋友找2M 300个小时的,才120块,加上电话停机5块钱,才125块。
在开发上遇到的问题,以后会在这里和大家分享一下。
Technorati 标签:
kira,
hp,
APMServ,
Mysql,
Zend Studio,
Firefox,
IE7,
电信,
Fleaphp,
php,
框架