Python将数据发布到url

时间:2016-07-28 17:40:52

标签: python http google-app-engine http-post

我正在使用App Engine,我正在尝试将数据发布到类似于此的URL:

https://push.geckoboard.com/v1/send/<widget-id>

我尝试过以下代码:

data = {
            "api_key" : api_key,
            "data" : {
                      "item" : [
                                {
                                 "value" : chatamount
                                 }
                                ]
                      }
            }

    encoded_args = urllib.urlencode(data)
    conn = httplib.HTTPSConnection(pushurl)
    conn.request("POST", "", encoded_args)
    response = conn.getresponse()
    logging.info(response.status)
    conn.close()

但是,日志记录返回400错误。有谁知道如何使用Python和App Engine执行简单的数据POST?

1 个答案:

答案 0 :(得分:0)

导致错误400是因为数据是url编码的,它不应该是。通过改变

conn.request("POST", "", encoded_args)

conn.request("POST", "", json.dumps(data))
问题解决了。

感谢您的帮助!