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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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