Python запрашивает ошибку: содержимое не разрешено в прологе - PullRequest
1 голос
/ 09 апреля 2019

В основном, если я запускаю команду 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...