2017-04-07 53 views
0

我想将以下http.client请求代码转换为Requests 库表单。如何在请求库表单中转换以下http.client请求? [Python]

我试过这样做,但被卡在想身体和标题都在requests.post(url, data=None, json=None, **kwargs)传递。 我需要使用请求库,主要是因为我想使它异步。

headers = {"Content-type": "application/ssml+xml", 
      "X-Microsoft-OutputFormat": "audio-16khz-128kbitrate-mono-mp3", 
      "Authorization": "Bearer " + access_token, 
      "X-Search-AppId": "__ID__", 
      "X-Search-ClientID": "__ID__", 
      "User-Agent": "TTSForPython"} 
body = "<speak version='1.0' xml:lang='en-us'><voice xml:lang='en-CA' xml:gender='Female' name='Microsoft Server Speech Text to Speech Voice (en-CA, HeatherRUS)'>" + text + "</voice></speak>" 
conn = http.client.HTTPSConnection("speech.platform.bing.com") 
conn.request("POST", "/synthesize", body, headers) 
response = conn.getresponse() 

谢谢!!

回答

0

您的body,实际上只是有效载荷,所以将作为参数data传递。

标题只是简单地作为标题传递。

r = requests.post(url='http:/speech.platform.bing.com/synthesize', 
        data=body, 
        headers=headers)