我需要帮助将此 REST API Curl 命令转换为 Python 请求
I need help converting this REST API Curl command to Python requests
我是新来的,老实说,对所有编码都比较陌生。
我正在尝试创建一个 Pyton 脚本来使用 REST 从请求跟踪器资产数据库中搜索项目 API。
到目前为止我得到了这个 Curl 命令:
curl -X POST \
-H "Content-Type: application/json" \
-d '[{ "field" : "Owner", "operator" : "LIKE", "value" : "NAME" },{"field":"Catalog", "value":"1"}]' \
-H 'Authorization: token MY_TOKEN' \
'https://RT_URL/rt/REST/2.0/assets'
它 returns 一个不错的 JSON 结果来自 RT_URL 所有者使用令牌 MY_TOKEN.
匹配 NAME
但我不知道如何在 Python 中对此进行编码。我有一个使用请求库来获取的脚本,它使用的是一个简单的 URL 请求,但我不知道如何实现搜索字段。
我到处寻找示例,但无法正常工作。我还没有找到任何关于如何使用令牌在请求中进行身份验证的信息。
无论如何,提前感谢您的任何回复:)
尝试使用 requests.post()
向您的 REST API 执行 HTTP POST 请求:
import requests
import json
# URL
url = 'https://RT_URL/rt/REST/2.0/assets'
# JSON data
data = '[{ "field" : "Owner", "operator" : "LIKE", "value" : "NAME" },{"field":"Catalog", "value":"1"}]'
# Request headers
headers = {"Content-Type": "application/json", "Authorization": "token MY_TOKEN"}
# POST request
requests.post(url=url, data=data, headers=headers)
试试这个代码
import requests
headers = {
'Content-Type': 'application/json',
'Authorization': 'token TOKEN',
}
data = '[{ "field" : "value"}] ......'
response = requests.post('YOUR_URL', headers=headers, data=data)
首先让我们为您的请求构建 headers 字典:
headers = {
'Content-Type': 'application/json', (...)
}
然后,让我们创建您的 body:
json = [{
"field": "Owner",
"operator": "LIKE",
"value": "NAME"
}, {
"field": "Catalog",
"value": "1"
}]
最后,让我们POST提出您的要求:
response = requests.post('https://RT_URL/rt/REST/2.0/assets', json=json, headers=headers)
这应该可以解决问题。
您可以找到更多信息here
我是新来的,老实说,对所有编码都比较陌生。
我正在尝试创建一个 Pyton 脚本来使用 REST 从请求跟踪器资产数据库中搜索项目 API。
到目前为止我得到了这个 Curl 命令:
curl -X POST \
-H "Content-Type: application/json" \
-d '[{ "field" : "Owner", "operator" : "LIKE", "value" : "NAME" },{"field":"Catalog", "value":"1"}]' \
-H 'Authorization: token MY_TOKEN' \
'https://RT_URL/rt/REST/2.0/assets'
它 returns 一个不错的 JSON 结果来自 RT_URL 所有者使用令牌 MY_TOKEN.
匹配 NAME但我不知道如何在 Python 中对此进行编码。我有一个使用请求库来获取的脚本,它使用的是一个简单的 URL 请求,但我不知道如何实现搜索字段。
我到处寻找示例,但无法正常工作。我还没有找到任何关于如何使用令牌在请求中进行身份验证的信息。
无论如何,提前感谢您的任何回复:)
尝试使用 requests.post()
向您的 REST API 执行 HTTP POST 请求:
import requests
import json
# URL
url = 'https://RT_URL/rt/REST/2.0/assets'
# JSON data
data = '[{ "field" : "Owner", "operator" : "LIKE", "value" : "NAME" },{"field":"Catalog", "value":"1"}]'
# Request headers
headers = {"Content-Type": "application/json", "Authorization": "token MY_TOKEN"}
# POST request
requests.post(url=url, data=data, headers=headers)
试试这个代码
import requests
headers = {
'Content-Type': 'application/json',
'Authorization': 'token TOKEN',
}
data = '[{ "field" : "value"}] ......'
response = requests.post('YOUR_URL', headers=headers, data=data)
首先让我们为您的请求构建 headers 字典:
headers = {
'Content-Type': 'application/json', (...)
}
然后,让我们创建您的 body:
json = [{
"field": "Owner",
"operator": "LIKE",
"value": "NAME"
}, {
"field": "Catalog",
"value": "1"
}]
最后,让我们POST提出您的要求:
response = requests.post('https://RT_URL/rt/REST/2.0/assets', json=json, headers=headers)
这应该可以解决问题。
您可以找到更多信息here