我正在为一个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
请帮助:)
答案 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
。