可可熊的窝

关于PyFetion不能在GAE上使用

IN:Python, 编程相关   Tags: , ,    Comments:44

最近有同学反映PyFetion不能在GAE上使用,我看了下别人给出的错误,问题不出在PyFetion上,无论是TCP方式还是HTTP方式,使用本机测试都可以正常工作。
应该是移动的飞信服务器屏蔽了GAE的出口IP地址(某同学反应GAE的urlopen使用的是同一IP)。

原因大概是广大GAE的爱好者众多,玩PyFetion的又比较多,所以移动不爽了,就封掉你。

问题出来了,原因也大概知道了,那怎么解决方案呢,下面就给出几个吧:

  1. 强烈要求GAE增加代理支持。
  2. 打电话给10086,然后说你的飞信上不出了,然后给客服MM说你的IP是:[GAE_IP(哪位知道这个IP来补充一下)]。
  3. 脱离GAE,使用自己的服务器。
  4. 继续使用GAE,使用另一服务器做为跳板。
  5. 解释一下,GAE不能直接访问飞信服务器了,可以在另一个地方,比如cocobear.info/PyFetion.py?phone=13838381438&pwd=383838&msg=^_^
    做这样的一个的接口,然后使用GAE去访问这个服务器。

Update(09.4.27):
据gohsy同学反映,GAE上不能使用是因为服务器返回了405错误,而别的fetion实现会忽略405错误,继续进行,而PyFetion遇到这个错误会产生异常。记得以前调PyFetion的时候也遇到过405错误,应该是发送的数据格式不对而造成的,所以我猜想这里是因为网络环境影响造成的数据不完整,从而使得飞信服务器返回405错误。因为在GAE上PyFetion还是可以偶尔发送成功的,所以出错的原因应该不是程序本身。

为了在GAE上能更好的使用,我修改了一下PyFetion,增加了遇到405错误时重试功能,默认重试5次,这样会使得发送的成功率提高很多,但是由于405的出现,重试多次会影响到发送的速度,这一点是无法避免的。更新请到google code查看:http://code.google.com/p/pytool/source/detail?r=30

其实根本的原因我想还是GAE上用PyFetion的人过多造成的:-)

为了在GAE上调PyFetion,在gohsy同学的帮助下,搭建了GAE环境,感觉还不错,做应用挺方便的,不错的东东。

04-25
2009

44 Comments for 关于PyFetion不能在GAE上使用

Leave a Comment

loading...