PYTHON 3.6 : Requete Http et XML
Bonjour a tous
j'ai un problème.
Je possede un logiciel de video surveillance qui me donne des infos viens des requetes API en HTTP avec réponse en XML ou Texte au choix
J'arrive a lancer les requete depuis un scrypt Python et a enregistrer les resutats mais apres je bloque.
L'idée serait de n'avoir qu'un seul XML de toutes ces requetes voir un csv
et pour la derniere requete screenshot, incrémenter le "Camera=0001" par les valeurs du xml
Voici mon script
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
| import requests
from bs4 import BeautifulSoup
#Recupération HLCK
url = "http://localhost:8601/interface/Server/GetMachineCode?ResponseFormat=XML&AuthUser=admin"
filename = 'HLCK.xml'
r = requests.get(url,)
if r.status_code == 200:
with open(filename, 'wb') as f:
f.write(r.content)
#Récupération Info Serveur
url = "http://localhost:8601/interface/Server/GetInfo?ResponseFormat=XML&AuthUser=admin"
filename = 'Data_Serveur.xml'
r = requests.get(url,)
if r.status_code == 200:
with open(filename, 'wb') as f:
f.write(r.content)
soup = BeautifulSoup(r)
for Name in soup.find-all('Name'):
print (Name)
#Recuperation Status Caméras
url = "http://localhost:8601/interface/Cameras/GetStatus?ResponseFormat=XML&AuthUser=admin"
filename = 'Status.xml'
r = requests.get(url,)
if r.status_code == 200:
with open(filename, 'wb') as f:
f.write(r.content)
#Recupération du Listing Caméra
url = "http://localhost:8601/interface/Cameras/GetCameras?ResponseFormat=XML&AuthUser=admin"
filename = 'Resume_Cam.xml'
r = requests.get(url,)
if r.status_code == 200:
with open(filename, 'wb') as f:
f.write(r.content)
#Recuperation des Screenshot
url = "http://localhost:8601/Interface/Cameras/GetSnapshot?Camera=0001&Profile=Visualization&ResponseFormat=XML&AuthUser=admin"
filename = 'Cm.png'
r = requests.get(url,)
if r.status_code == 200:
with open(filename, 'wb') as f:
f.write(r.content) |
Exemple de XML Requete 4
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90
| <?xml version="1.0" encoding="UTF-8"?>
-<Response>
<Code>0</Code>
<Message>OK</Message>
-<Data>
-<Cameras>
<Count>3</Count>
-<Camera>
<Name>0001</Name>
<Description>Arriere Maison</Description>
<Model>Uniview IPC-3232ER-DV</Model>
<DeviceType>1</DeviceType>
<ConnectionAddress>192.168.137.39</ConnectionAddress>
<ConnectionPort>80</ConnectionPort>
<Latitude>0.000000</Latitude>
<Longitude>0.000000</Longitude>
<MediaProfiles>Enregistrement,Lr,Visualisation</MediaProfiles>
</Camera>
-<Camera>
<Name>0002</Name>
<Description>Portail</Description>
<Model>Uniview IPC-3232ER-DV</Model>
<DeviceType>1</DeviceType>
<ConnectionAddress>192.168.137.27</ConnectionAddress>
<ConnectionPort>80</ConnectionPort>
<Latitude>0.000000</Latitude>
<Longitude>0.000000</Longitude>
<MediaProfiles>Enregistrement,Lr,Visualisation</MediaProfiles>
</Camera>
-<Camera>
<Name>0003</Name>
<Description>Telephone</Description>
<Model>Digifort Mobile Camera</Model>
<DeviceType>0</DeviceType>
<ConnectionAddress>127.0.0.1</ConnectionAddress>
<ConnectionPort>8651</ConnectionPort>
<Latitude>0.000000</Latitude>
<Longitude>0.000000</Longitude>
<MediaProfiles>Enregistrement,Visualisation</MediaProfiles>
</Camera>
</Cameras>
</Data>
</Response> |
Exemple XML Requete 1
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| <?xml version="1.0" encoding="UTF-8"?>
-<Response>
<Code>0</Code>
<Message>OK</Message>
-<Data>
-<MachineCode>
<MachineCode>7FCB-DGF-8EDF424-69CD1*B257F8/27B7-HLCK-57DA60</MachineCode>
<ServerID>7570AE14FC657FD96AD6972ACF235E6D</ServerID>
</MachineCode>
</Data>
</Response> |
Merci d'avance pour votre Aide