В основном, если я запускаю команду curl:
curl -k -u user:pass --header 'Content-Type: application/xml' --request POST --data '<LocalIDs><LocalID ID="9128615"/></LocalIDs>' --url https://rhtpcapc001:8182/pc/center/webservice/datasources/dataSourceConsoleName/Data%20Aggregator%40RHTPCADA201/itemids
У меня есть следующий ответ:
<?xml version="1.0" encoding="UTF-8"?><ItemIDResults><ItemIDResult
LocalID="9528017" ItemID="828570"/></ItemIDResults>
Я сделал скрипт на python для запуска этой команды:
#!/usr/bin/python
import requests
import urllib3
urllib3.disable_warnings()
headers = {
'Content-Type': 'application/xml',
}
data = {
'<LocalID ID': '"9528017"/>'
}
response = requests.post('https://rhtpcapc001:8182/pc/center/webservice/datasources/dataSourceConsoleName/Data%20Aggregator%40RHTPCADA201/itemids', headers=headers, data=data, verify=False, auth=('user', 'pass'))
print (response.encoding)
print (response.headers['Content-Type'])
print (response.headers)
print (response.text)
print (response.content)
print (response.reason)`
и выдает мне следующую ошибку:
ISO-8859-1 text / plain {'Set-Cookie':
'JSESSIONID = md1waumsuoe81jceaxacbqgid; Path = / pc; Secure', 'Expires':
'Чт, 01 января 1970 г. 00:00:00 GMT', 'Content-Type': 'text / plain', 'Date':
'Вт, 09 апреля 2019 10:28:54 GMT', 'Content-Length': '173', 'Server':
'Jetty (9.3.5.v20151012)'} Произошло исключение JAXBException: ParseError at
[row, col]: [1,1] Сообщение: содержимое не разрешено в прологе. ParseError
at [row, col]: [1,1] Сообщение: содержимое не разрешено в прологе.
Возникла исключительная ситуация b'JAXB: ParseError at [row, col]: [1,1] \ nMessage:
Содержание не допускается в прологе. ParseError at
[row, col]: [1,1] \ nMessage: содержимое не разрешено в прологе .. 'Плохо
Запрос
Я думаю, что проблема в кодировке. Когда я запускаю только команду curl:
COMMAND:
curl -k -u user:pass --header 'Content-Type: application/xml' --request POST --data '<LocalIDs><LocalID ID="9128615"/></LocalIDs>' --url https://rhtpcapc001:8182/pc/center/webservice/datasources/dataSourceConsoleName/Data%20Aggregator%40RHTPCADA201/itemids
ВЫВОД:
<?xml version="1.0" encoding="UTF-8"?><ItemIDResults><ItemIDResult LocalID="9528017" ItemID="828570"/></ItemIDResults>
в ответе мы видим кодировку = "UTF-8"
в скрипте python с response.encoding я вижу кодировку ISO-8859-1
Заранее спасибо за помощь.
BR
David