我应该如何在请求库表单中转换以下http.client请求? [Python的]

时间:2017-04-07 21:03:42

标签: python python-2.7 http python-requests http.client

我想将以下http.client请求代码转换为Requests  图书馆表格。

我尝试过这样做,但是想到身体和标题都会在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()

谢谢!

1 个答案:

答案 0 :(得分:0)

您的body实际上只是有效负载,因此将作为data参数传递。

标题简单地传递为,嗯,标题。

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