# -*- coding: utf-8 -*- from httplib import HTTPConnection from urllib import urlencode import re TRANS_GATE_URL = 'http://www.gojapan.com/translation/transmsg.php' TRANS_REFERER = 'http://www.gojapan.com/translation/minitrans.html' YOMI_GATE_URL = 'http://www.hiragana.jp/cgi-bin/trans2.cgi' YOMI_REFERER = 'http://www.hiragana.jp/reading/query.php' _COMMON_HEADERS = { 'Accept' : 'image/gif, image/x-xbitmap, image/jpeg, ' 'image/pjpeg, application/vnd.ms-powerpoint, ' 'application/vnd.ms-excel, application/msword, */*', 'Content-Type' : 'application/x-www-form-urlencoded', 'Accept-Encoding': 'gzip, deflate', 'User-Agent' : 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)', 'Cache-Control' : 'no-cache', 'Connection' : 'keep-alive', } _COOKIE = {} def translate(msg): result = httppost( TRANS_GATE_URL, {'data': msg}, {'Referer': TRANS_REFERER} ) return result['body'] def yomigana(msg): result = httppost( YOMI_GATE_URL, {'html': '1', 'body': msg.decode('utf-8').encode('euc-jp')}, {'Referer': YOMI_REFERER} ) return result['body'] def httppost(url, data={}, headers={}): protocol, host, uri = re.findall('^(https?://)([^/]+)(.*)$',url)[0] arr = headers.items() arr.extend([('Host',host)]) arr.extend(_COMMON_HEADERS.items()) headers = dict(arr) conn = HTTPConnection(host, 80) conn.request('POST', uri, urlencode(data), headers) resp = conn.getresponse() return {'header': dict(resp.getheaders()), 'body': resp.read()}