python3 请求百度接口请求翻译结果

有空把自动生成语言包的php程序改成python的版本,很久没有玩python了,现在的python3很多东西都变了,连md5都不一样!!

总算把百度请求的接口写了个雏形,百度官方提供的py2,而且还有bug存在,只能直接动手了。

# /usr/bin/env/python
# encoding='utf-8'
import http.client as http
import hashlib
import urllib
import random
import json
appid = ''  # 你的appid
secretKey = ''  # 你的密钥
host = 'api.fanyi.baidu.com'
api = '/api/trans/vip/translate'
q = '你好,我们是好朋友吗?'
fromLang = 'zh'
toLang = 'en'
salt = random.randint(32768, 65536)
sign_str = appid+q+str(salt)+secretKey
sign = hashlib.md5(sign_str.encode(encoding='UTF-8')).hexdigest()
url = api + '?appid=' + appid + '&q=' + urllib.parse.quote(q) + '&from=' +\
      fromLang + '&to=' + toLang + '&salt=' + str(salt) + '&sign=' + sign


def get(host, url ):
    send = http.HTTPConnection(host,80,10)
    send.request('GET', url)
    jsonstr = send.getresponse().read().decode('utf-8')  # 接收返回数据
    ret = json.loads(jsonstr, encoding='utf8')  # json格式转换
    return ret


res = get(host, url)
print(res)
结果返回:

{'from': 'zh', 'to': 'en', 'trans_result': [{'src': '你好,我们是好朋友吗?', 'dst': 'Hello, are we good friends?'}]}

评论/留言