Python将图片附件发布到pushover

时间:2018-01-25 09:34:10

标签: python attachment pushover

我使用下面的代码成功发送消息到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

1 个答案:

答案 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(读取二进制文件)。