我想實現一個python腳本,它將設置一個webhook與電報bot api的setWebhook
方法。由於它是建立一個自簽名證書後說:here我們可以用這個curl命令做到這一點:如何將curl命令轉換爲python等價物?
curl -F "url=https://<YOURDOMAIN.EXAMPLE>/<WEBHOOKLOCATION>" \
-F "[email protected]<YOURCERTIFICATE>.pem" https://api.telegram.org/bot<YOURTOKEN>/setWebhook
調用這個curl命令設置網絡掛接沒有任何問題,我通過它獲取更新。
但現在我想用python腳本來實現這個,所以我可以只使用一些命令行參數來調用它,所以它爲我樹立網絡掛接,獲得關於它的信息或刪除它。我寫的,到目前爲止是這樣的:
files = {
'file': ('certificate', open(configuration.CERTFILE, 'rb'))
}
headers = {'Content-Type': 'multipart/form-data'}
data = {
'url': configuration.WEBHOOK_URL,
}
url = configuration.API % 'setWebhook'
rp = requests.post(url, headers=headers, data=data, files=files)
print('result of setWebhook: ', rp.status_code)
的狀態碼的響應是400 Bad Request
。我認爲我以錯誤的方式發送了請求。
關於的任何意見有什麼不對與我的requests
請求電報bot api?
'curl -h'表示'-F' *指定HTTP多部分POST數據*和'url'不是文件。無論如何,我已經嘗試了你提供的代碼,但沒有取得任何成功。 – sehrob