如何使用用户名:密码,Python中的标头构建REST请求?

时间:2017-04-10 08:31:42

标签: python json rest curl

我有以下curl命令,我想使用Python创建一个等效的休息请求。怎么做?

curl -i -X POST -u user:password --form details=@/user/home/services.json http://localhost:7001/api/v1.1/services

如何传递多个标题&请求中的授权。另外,我想修改json文件中的一些字段。

例如,如果services.json就像

{
"serviceName":"abc",
"id":1
}

我想修改我要发送的请求中的serviceName。怎么做到这一点?

2 个答案:

答案 0 :(得分:0)

import requests
requests.get('https://api.github.com/user', auth=('user', 'pass'))

参考:https://2.python-requests.org/en/master/user/authentication/#basic-authentication

答案 1 :(得分:-1)

为了发送包含数据和标题的post请求,您可以使用python存在的requests库。 这是一个受requests模块文档启发的示例。

payload = {"user": "user", "password": "password"}
headers = {'Authorization': 'YOUR AUTH HEADER', 'Content-Type', 'application/json'}
url = 'http://localhost:7001/api/v1.1/services'
r = requests.post(url, data= payload, headers=headers)

如果您要修改您要发送的变量数据,请发送变量本身,如

variable = 'your variable data'
payload = {"user": "user", "password": "password", "id":1, "serviceName":variable}

现在这将是您将在帖子请求中发送的数据。 Reference1

Reference2