我使用下面的代码成功发送消息到pushover但是我想发送最新API中介绍的图片附件。我怎样才能将最后一个代码示例转换为在python中工作。
工作代码:
import httplib, urllib
conn = httplib.HTTPSConnection("api.pushover.net:443")
conn.request("POST", "/1/messages.json",
urllib.urlencode({
"token": "APP_TOKEN",
"user": "USER_KEY",
"message": "hello world",
}), { "Content-type": "application/x-www-form-urlencoded" })
conn.getresponse()
示例API
curl -s \
--form-string "token=APP_TOKEN" \
--form-string "user=USER_KEY" \
--form-string "message=here is an image attachment" \
-F "attachment=@/path/to/your/image.jpg" \
https://api.pushover.net/1/messages.json
答案 0 :(得分:0)
我没有尝试过urllib,但是已成功处理了请求。我真的不知道你是否想要使用那个模块。但无论如何这里是代码。
import requests
r = requests.post("https://api.pushover.net/1/messages.json", data={"token":"APP_TOKEN","user":"USER_KEY","message":"Got Image?"}, files={"attachment":open("PATH_TO_IMAGE","rb")})
要打破它。您将所请求的参数传递给dict 数据中的formencoded。然后传递dict 文件中的文件。重要的是文件打开rb(读取二进制文件)。