Python请求不适用于build.phonegap.com

时间:2014-09-22 13:54:01

标签: python cordova python-requests phonegap-build

我正在为一个phonegap项目制作一个python构建脚本。 我需要在构建之前打开ios密钥 我试图通过python的请求模块使用http put请求执行此操作。

如果我从命令行使用cURL,它可以正常工作

curl -vvv -d 'data={"password":"myPassWord"}' -X PUT https://build.phonegap.com/api/v1/keys/ios/193686?auth_token=passwordlesstokenphg

但是像这样的python。

password_for_key = {'password': 'myPassword'}
authentication_token = {'auth_token': 'passwordlesstokenphg'}
requests.put('https://build.phonegap.com/api/v1/keys/ios/193686', data=password_for_key, params=authentication_token)

如果没有数据你做了一个cURL,它只会返回你会收到的json。 对我来说,似乎没有正确地将数据发送到phonegap。

build.phonegap.com的API参考 docs.build.phonegap.com/en_US/2.9.0/developer_api_write.md.html

请帮助:)

1 个答案:

答案 0 :(得分:1)

所以当你这样做时

curl -d "..." -X PUT https://example.com

curl准确发送该字符串中的内容。请求不会直接转换为curl。要在请求中执行类似的操作,您需要执行以下操作:

import json

password_for_key = {'password': 'myPassword'}
authentication_token = {'auth_token': 'passwordlesstokenphg'}

requests.put('https://build.phonegap.com/api/v1/keys/ios/193686',
             data={'data': json.dumps(password_for_key)},
             params=authentication_token)

如果您使用上述内容,请求将为您构建data={"password":"myPassword"}。首先,您必须对password_for_key中的数据进行JSON编码,然后将其在字典中传递给data