有的时候需要在局域网内调试 GAE 的程序,比如调试手机应用程序的时候,需要通过 WiFi 访问应用程序。
默认的 dev_appserver 使用的地址是 localhost,如果需要其他计算机也能访问,则需要再启动的时候加入参数 --address= ...
设置服务器的主机地址,使用 0.0.0.0
则允许本地主机访问和主机名访问。参见:The Python Development Server: Command-Line Arguments。
如果使用的是 GAE Launcher,则是在 Application Settings 中在 Extra Command Line Flags 中加入:
-a 0.0.0.0
ReadTxT 是基于 Google App Engine 编写的阅读网络小说的工具,初衷是为了使阅读网络小说更方便而设计的。它支持常见的网络文学站点,比如:起点中文网、纵横中文网、飞库电子书等。用户可以在登录后统一管理各个站点自己喜欢的书目,并保存阅读书签,实现一站式阅读。主要的特点有:
- 支持多个主流小说网站。
- 自动抓取最新的章节。
- 无广告。
- 支持手机阅读,并针对 iPhone 优化。
- 提供下载和订阅功能。
项目主页:http://code.google.com/p/bookreader/
部署需要对 Google App Engine 有一点点了解,如果只是希望使用,可以直接进入:
- ReadTxT:http://readtxt.appspot.com/
- 更多的介绍可以参见 ReadTxT 的帮助
可以保证上述部署的应用是最新版本,除非调整数据库结构,书签信息不会清空(有的时候清空了数据...请不要怪我)。 需要补充说明的是,本人不负责使用代码或者应用本身所带来的网络小说版权问题。
最近写了一个 GAE 应用,需要向外提供大量 Feed,很多以前不是问题的问题就出来了:
- 各个在线阅读器的抓取器对网站造成负担,尤其是当 Feed 很多的时候;
- 因为我提供的 Feed 有时效性,但是很多在线阅读器的抓取器不能正确识别 301 重定向和 410 永久删除,这就造成还会始终访问无效的地址;
- 现有的 Feed 托管服务基本都不支持批量托管,比如 Feedburner 和 Feedsky,只有一个 FeedCat 支持,但是就是它的 FeedCatBot 现在还在对我无效的网址进行抓取。
不同的在线阅读器的抓取器也不同:
- Google Reader:一小时一次,User Agent 为 Feedfetcher-Google,我看以前人说它不支持 301,不过据我观察,它会接受 301 重定向,只是用户界面查看 Feed 地址还是原来的。但是 Feedfetcher-Google 不会再去抓取原地址。
- 抓虾:User Agent 为 Zhuaxia.com,支持 301 重定向,不过需要响应 Head 方法。它先用 Head 然后 Get。
- 豆瓣九点:完美支持 301 重定向。
我最后的解决方案是:
- 自己编写了一个批量托管的 GAE 应用,使得原始服务不会受到太大压力,一部分转接到 Feed 托管服务上。
- Feed 托管服务针对实际 Feed 的不同状态返回相应的状态码和转向。