在rest api中发布请求时出现415错误,尝试运行cms查询

问题描述

嗨,我是 Python 和 REST API 的新手,

尝试使用 requests.post

在 cms 中运行查询时出现 415 错误

我无法将 content-typeAccept 与登录令牌一起传递。 我可以在 talend 中与这两个标题一起运行。

能否请您帮我在最后的 requests.post 中添加这 2 个标头。

下面是我的代码

import requests
from lxml import etree
import xml.etree.ElementTree as ET
import pandas as pd
import openpyxl as x
from bs4 import BeautifulSoup
import xmltodict
protocol='http'
host='HOST'
port='6405'
content_type='application/xml'
base_url = protocol + '://' + host + ':' + port
bip_url = base_url + '/biprws'
webi_url = bip_url + '/raylight/v1'
sl_url = bip_url + '/sl/v1'
headers_auth = {
        'Content-Type' : content_type,'Accept':'application/xml'
        }
headers = {
    }      
username = 'user'
password = 'pass'
auth = requests.get(bip_url + '/logon/long',headers=headers)
root = etree.fromstring(auth.text)
root[3].text = username
root[0].text = password 
etree.tostring(root)
send = requests.post(bip_url + '/logon/long',headers=headers_auth,data=etree.tostring(root))
tokenresp = etree.fromstring(send.content)
headers['X-SAP-LogonToken'] = tokenresp[3][0][0].text
folder_get = requests.get(bip_url + '/v1/cmsquery',headers=headers)
folder_root = etree.fromstring(folder_get.text)
Query_var = 'SELECT SI_ID,SI_NAME FROM CI_INFOOBJECTS WHERE SI_ANCESTOR = 12141'
folder_root[0].text = Query_var
data1 = etree.tostring(folder_root)
folder_post = requests.post(bip_url + '/v1/cmsquery',headers = headers,data = data1)
folder_post.status_code

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)