我有这个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。
这是我到目前为止所得到的:
def post_json(location, json_data):
result = requests.post(
location,
data=json_data,
auth=(USERNAME, PASSWORD),
verify=SSL_VERIFY,
headers=POST_HEADERS)
return result.json()
json_data = {
"add_content": {
"errata_ids": ["RHSA-2016:2124","RHBA-2016:2889"]
},
"content_view_version_environments": [{
"content_view_version_id": 301
}]
}
push_errata = post_json(katello_api + "content_view_versions + "/incremental_update/" + "content_view_version_environments/" + "add_content['RHSA-2016:1912'])我要去找SyntaxError: invalid syntax
你能帮我把curl命令正确地“转换”成python吗?
发布于 2016-12-22 19:06:15
使用Authorization header,您可以执行以下操作:
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头的auth参数,如下所示
from requests.auth import HTTPBasicAuth
headers = {
'Accept': 'application/json,version=2',
'Content-Type': 'application/json'}
response = requests.post(url, auth=HTTPBasicAuth('admin', 'Password'), data=json.dumps(data), headers=headers)https://stackoverflow.com/questions/41281496
复制相似问题