requests+MD5加密函式

huixiaodezuotian發表於2020-12-26

案例:

  1. 手工輸入字串
  2. 隨機生成動態數字(字串)
  3. 拼接字串,並且進行MD5加密
  4. 通過API請求
  5. 對結果進行json格式化
  6. 輸出翻譯結果(只要譯文)
import requests
#匯入隨機數模組
import random
#在python3中使用hashlib模組進行MD5操作
import hashlib

#定義編碼格式
encoding = “utf-8”

#定義一個MD5加密函式
def getMD5(content):
    m = hashlib.md5()
    m.update(content.encode(encoding))
    return m.hexdigest()


#定義一個函式:
def test_baidu_input():
    # 定義介面處的URL
    tar_url = "http://api.fanyi.baidu.com/api/trans/vip/translate"
    # 定義被翻譯的字串
    tar_q = input("請輸入要翻譯的內容:")
    fr = "auto"
    # 定義appid
    app_id = "20200211000382774"
    # 定義隨機數(直接轉換為字串)
    sa_lt = str(random.randint(1000,9999))
    # 定義祕鑰
    mk = "b1imCNk_EdeIHM0zX2bD"
    # 定義加密前的sign
    before_sign = app_id + tar_q + sa_lt+ mk
    tar_sign = getMD5(before_sign)
    # 構造引數
    canshu = {
        "q" : tar_q,
        "from":fr,
        "to":"zh",
        "appid":"20200211555382774",
        "salt":sa_lt,
        "sign":tar_sign
    }
    res = requests.get(url=tar_url,params=canshu)
    print(res.status_code)
    print(canshu)
    result = res.json()
    print(result)
    # 提取響應結果,並輸出譯文
    tar_result = result['trans_result'][0]['dst']
    print("pear的輸出譯文是:" ,tar_result)


#呼叫函式
test_baidu_input()

 

響應並列印結果:

相關文章