将curl post转换为restapi到python

2024-04-28 23:26:41 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个curl命令:

curl -X POST -s -k -u "admin:Password" -d '

{
"add_content": {
    "errata_ids": ["RHSA-2016:2124","RHBA-2016:2889"]
},
"content_view_version_environments": [{
    "content_view_version_id": 28
}]
}
' \

-H "Accept:application/json,version=2" \ -H "Content-Type:application/json" \ https://satellite.example.com/katello/api/content_view_versions/incremental_update

我需要把它转换成python

到目前为止,我得到的是:

^{pr2}$

我得到SyntaxError: invalid syntax

你能帮我把curl命令正确地“转换”成python吗?在


Tags: 命令viewaddjsonidsadminapplicationversion
1条回答
网友
1楼 · 发布于 2024-04-28 23:26:41

使用Authorization标头,可以执行以下操作:

import requests, base64, json

url = 'https://satellite.example.com/katello/api/content_view_versions/incremental_update'

headers = {
    'Accept': 'application/json,version=2',
    'Content-Type': 'application/json',
    'Authorization': 'Basic {}'.format(base64.b64encode('admin:Password'))}

data = {
    "add_content": {
        "errata_ids": ["RHSA-2016:2124","RHBA-2016:2889"]},
    "content_view_version_environments": [
        {"content_view_version_id": 28 }]}

response = requests.post(url=url, data=json.dumps(data), headers=headers)

您也可以像这样使用不带Authorization头的authparam

^{pr2}$

相关问题 更多 >