知名主机服务提供商(mt) Media Temple今天宣布了其用户管理主机的公共API开始接受Beta测试申请。该API建立在 Jersey 和 Grails框架之上,提供JSON和XML格式的数据供用户管理(ve)和(dv)类型的主机。
-EOF-
Google App Engine SDK 1.3.8 预览版放出
SDK 1.3.8的评估版现在已经可以下载:
http://code.google.com/p/googleappengine/downloads/list
我们来看看有哪些新特性:
- 上传app的开发者可以使用appcfg.py download_app命令下载所上传版本的代码。
- 内建app.yaml中处理程序可用于常见的应用功能,如appstats。
- Admin Console 提供了工具删除数据库中所有的实体或者给定类型的实体。
- 可以在Admin Console立即执行queue tasks。
- 可以在执行图像API的execute_transforms函数时指定jpeg图像的质量。
- 支持多帐户登录。
- 在queue.yaml中 bucket size 提升到100。
- 默认开启Precompilation预编译。
- BlobInfo拥有一个返回BlobReader值的open方法。
- BlobReader接受BlobInfo类型的参数。
- 移除了zigzag merge-join queries的限制。
via Prerelease SDK 1.3.8 is out!
好吧,没我期望的特性,希望Google Storage能成为内置支持(允许大文件传输),希望Prediction API和BigQuery也成为内置支持。版本号在上升,有新特性总是好的。
-EOF-
雅虎$1.99域名优惠结束,新折扣最低$3.95
看来Yahoo长期提供$1.99也是抗不住的,废弃了旧的优惠后同时提供了新折扣,最低$3.95。
$3.95 的注册地址 http://smallbusiness.yahoo.com/domains?p=DOMDEAL
据说 2010.12.31 到期。
-E0F-
Google URL Shortener官方API
Google终于正式推出自家的URL Shortener http://goo.gl/供用户使用了。那么接口自然会是有的,不再需要像之前一样需要自己hack才能从外部调用goo.gl压缩网址。
API地址 http://goo.gl/api/shorten
参数 security_token 和 url
未登录就将security_token值设置未null
以下是Python代码写的示例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
#!/usr/bin/env python # encoding: utf-8 import urllib,httplib def test(): url = 'goo.gl' form_fields = {'security_token':'null', 'url':'http://google.com'} params = urllib.urlencode(form_fields) headers = {'Host':'goo.gl', 'User-Align':'Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.10', 'Content-Type':'application/x-www-form-urlencoded; charset=UTF-8', 'Connection':'Keep-Alive', 'Keep-Alive':115, 'X-Requested-With':'XMLHttpRequest', 'Referer':'http://goo.gl/', 'Accept':'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', "Cookie":'authed=1'} conn = httplib.HTTPConnection(url) conn.request(method='POST',url = '/api/shorten',body=params,headers=headers) response = conn.getresponse() print response.status res = response.read() print res getheaders = response.getheaders() for head in getheaders: print head[0],':',head[1] conn.close() if __name__ == '__main__': test() |
需要注意的是请求header信息里面必须携带Content-Type信息,否则会得到Bad request的400错误信息。
-EOF-