import http.client
import hashlib
import urllib.parse
import random
import json
def baiduTranslate(q, fromLang="en", toLang="zh"):
appid = '' #你的appid(这里是必填的, 从百度 开发者信息一览获取)
secretKey = '' #你的密钥(这里是必填的, 从百度 开发者信息一览获取)
httpClient = None
myurl = '/api/trans/vip/translate'
salt = random.randint(32768, 65536)
sign = appid + q + str(salt) + secretKey
m1 = hashlib.md5()
m1.update(sign.encode())
sign = m1.hexdigest()
myurl = myurl + '?appid=' + appid + '&q=' + urllib.parse.quote(
q) + '&from=' + fromLang + '&to=' + toLang + '&salt=' + str(salt) + '&sign=' + sign
result = ""
try:
httpClient = http.client.HTTPConnection('api.fanyi.baidu.com')
httpClient.request('GET', myurl)
# response是HTTPResponse对象
response = httpClient.getresponse()
result = response.read()
r = json.loads(result)
result = r["trans_result"][0]['dst']
except Exception as e:
result = ""
finally:
if httpClient:
httpClient.close()
return result
def trans():
while True:
q = input("输入要翻译的内容:")
if (q != "exit"):
r = baiduTranslate(q)
print(r)
else:
break
if __name__ == '__main__':
trans()