Python: метод CURL -T в запросах python. Пытаюсь отправить XML файл - PullRequest
0 голосов
/ 07 января 2020

Я пытаюсь загрузить файл XML на камеру HIKVISION, чтобы изменить наложение, я в основном делаю это с помощью метода curl -T с помощью cmd, и он работает, но теперь после этой попытки с python я получаю этот ответ :

<?xml version="1.0" encoding="UTF-8"?>
<ResponseStatus version="1.0" xmlns="http://www.hikvision.com/ver10/XMLSchema">
<requestURL>/Video/inputs/channels/1/overlays/text/1</requestURL>
<statusCode>4</statusCode>
<statusString>Invalid Operation</statusString>
</ResponseStatus>

Эта попытка выполняется с CMD:

C: \ Users \ interkodas \ Desktop \ app> curl -T формат. xml http://admin:Sin777@192.168.2.223/Video/inputs/channels/1/overlays/text/1

Ответ от HIKVISION CAMERA:

<?xml version="1.0" encoding="UTF-8"?>
<ResponseStatus version="1.0" xmlns="http://www.hikvision.com/ver10/XMLSchema">
<requestURL>/Video/inputs/channels/1/overlays/text/1</requestURL>
<statusCode>1</statusCode>
<statusString>OK</statusString>
</ResponseStatus>

* После изменения наложения этого ответа.

Python Файл:

# Open the XML file.
print('location',self.Full_dir)
with open("format.xml", mode="r", encoding="UTF-8") as xml:
     a = xml.read()
     url = 'http://admin:Sin777@192.168.2.223/Video/inputs/channels/1/overlays/text/1'
     ra = requests.post(url, data=a, headers={'Content-Type':'application/xml; charset=UTF-8'})
     print(ra.text)

XML Файл:

<?xml version="1.0" encoding="UTF-8"?>
<TextOverlay version="1.0" xmlns="http://www.hikvision.com/ver10/XMLSchema">
<id>1</id>
<enabled>true</enabled>
<posX>544</posX>
<posY>16</posY>
<message>M. Sleeviiaus g. 7, Vilnius 06326, Lithuania</message>
</TextOverlay>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...