2016-05-17 27 views
0

Ich habe überall hin untersucht, ob es eine einfache Möglichkeit gibt, eine NTLM-Antwort auf eine lokale XML-Datei zu schreiben. Wie würde ich das machen?Write Python NTLM XML-Antwort auf lokale XML-Datei

import requests 
import ntlm3 as ntlm 
from requests_ntlm import HttpNtlmAuth 

SITE = "website.com/_api/..." 
USERNAME = 'user' 
PASSWORD = 'pass' 

response = requests.get(SITE, auth=HttpNtlmAuth(USERNAME,PASSWORD)) 

print(response.status_code) 
print(response.text) 

Antwort

0

Unter der Annahme, die NTLM response.text ist eine wohlgeformte XML, Dump einfach den Textwert in Datei:

xmlfile = open('Output.xml', 'wb') 
xmlfile.write(response_text) 
xmlfile.close() 

Und die Ausgabe zu recht eine Datei zu drucken, betrachten lxml Modul:

import lxml.etree as ET 

... 

dom = ET.fromstring(response.text) 
tree_out = ET.tostring(dom, pretty_print=True) 

xmlfile = open('Output.xml', 'wb') 
xmlfile.write(tree_out) 
xmlfile.close() 
+0

Wenn die Datei irgendwie durcheinander ist, sollte ich ElementTree verwenden? Dies erzeugt nicht wirklich das Dateirecht, das ich brauche, um eine Datei namens "Output.xml" zu erstellen. –

+0

Meinst du [hübscher Druck] (http://stackoverflow.com/questions/749796/pretty-printing-xml-in-python) Minidom- und lxml-Module können dies tun. – Parfait

+0

Auch wenn ich die XML-Datei erstellen und den Code ausführen, bekomme ich xmlfile.write (response.text) io.UnsupportedOperation: nicht beschreibbar –