如何通过requests而非httplib连接Parse

0 投票
1 回答
828 浏览
提问于 2025-04-18 10:53

我正在尝试连接到我在Parse Cloud Code上设置的一个自定义端点。在文档中,他们展示了如何建立连接:

import json,httplib
connection = httplib.HTTPSConnection('api.parse.com', 443)
connection.connect()
connection.request('POST', '/1/functions/userData', json.dumps({
        "userID": "1234"
     }), {
       "X-Parse-Application-Id": "####",
       "X-Parse-REST-API-Key": "####",
       "Content-Type": "application/json"
     })
result = json.loads(connection.getresponse().read())
print result

这个方法很好用。

我想用requests库来写,但我总是收到404错误:

import json, requests

PARSE_HOSTNAME = 'https://api.parse.com:443'
PARSE_APP_ID = '####'
PARSE_REST_API_KEY = '####'


endpoint = '/1/function/userData/'
headers = {"X-Parse-Application-Id": PARSE_APP_ID, 
           "X-Parse-REST-API-Key": "PARSE_REST_API_KEY", 
           "Content-Type": "application/json"}
payload = {'userID': '1234'}

r = requests.post(PARSE_HOSTNAME + endpoint, data=json.dumps(payload), headers=headers)

print r.json

这段代码输出了:

<bound method Response.json of <Response [404]>>

我觉得我可能漏掉了一些很明显的东西。抱歉我不太懂。
我该如何用requests库实现和第一种方法一样的效果呢?

1 个回答

4

第二个例子中的网址拼写错误。你有

/1/function/userData/

必须是

/1/functions/userData

撰写回答