HTTP Status Code 201
TumblrのAPIでポストに成功するとStatus Code 201(Created)を返すのですが、Python 2.5.2とか2.5.4だと201が帰ってきた場合、HTTPError例外を投げちゃいます(2.6は違うみたい)。なので例外処理をちょこっと追加する必要があります。
- 参考URL
Tumblrへの投稿メール文字化け対策 - import nowhere
Big Sky :: Windowsのエクスプローラで「送る」からShareOnTumblr
urllib2 でエラー - Djangoへの片思い日記
urllib2 でエラー(続き) - Djangoへの片思い日記
#coding: UTF-8 import urllib,urllib2,sys ''' 説明 Tumblrにtype:regularでポストするスクリプトです。 argv[1]:title(タイトル) argv[2]:body(ポストするメッセージ本文) ''' url = 'http://www.tumblr.com/api/write' email = 'xxx@xxx' pw = 'xxxx' type = 'regular' title = sys.argv[1] body = sys.argv[2] msgbody = urllib.urlencode({ 'email':email, 'password':pw, 'type':type, 'title':title, 'body':body, 'generator':'Tumblr Write Script' }) #URL Open f = None try: f = urllib2.urlopen(url,msgbody) print f.read() except urllib2.HTTPError, e: if e.code != 201: print e finally: if f: f.close()