2011-01-11 9 views
1

Hallo ich bin in der Lage, eine normale XML wie xml = lxml.etree.parse ('' http://abc.com/A.xml ') zu analysieren, aber jetzt habe ich diesen Pfad authentifiziert mit ein Benutzername und Passwort ist es möglich, den Benutzernamen und das Passwort eingeben und analysieren die URL, wie beim Verbinden einer Datenbank, wo Sie den Benutzernamen Passwort in der Verbindungszeichenfolgesichere Xml Parsing in Python

+1

-1. Sie weigern sich Antworten zu akzeptieren und Sie ignorieren diese Tatsache, wenn Sie dazu aufgefordert. Lernen Sie hin und her bewegt. – user225312

+0

leider abt, dass ich bin ein bisschen ein neuen zu Stackoverflow – Rakesh

Antwort

3

Jungs ich fand eine Möglichkeit, Passwort geschütztes XML zu parsen, das ist, was ich getan habe.

import urllib2 
import base64 
theurl = 'http://abc.com/A.xml' 

username='AAA' 
password='BBB' 

req = urllib2.Request(theurl) 


base64string = base64.encodestring(
      '%s:%s' % (username, password))[:-1] 
authheader = "Basic %s" % base64string 
req.add_header("Authorization", authheader) 
try: 
    handle = urllib2.urlopen(req) 
except IOError, e: 
    print "It looks like the username or password is wrong." 
xml = handle.read() 
inputXml = etree.fromstring(xml) 
3

geben können Ja, es ist möglich. Vor dem Parsen des XML-Dokuments mit lxml, müssen Sie es erhalten, indem eine HTTP-Anforderung zu machen, die die HTTP Basic/Digest-Authentifizierung ordnungsgemäß verarbeitet. Zum Beispiel mit urllib2.HTTPBasicAuthHandler wie in dieser Lösung: Python urllib2 HTTPBasicAuthHandler