2011-01-11 3 views
1

Привет, я могу разобрать обычный xml, например xml = lxml.etree.parse ('' http://abc.com/A.xml ') , но теперь у меня есть этот путь, прошедший проверку подлинности с помощью имя пользователя и пароль можно ввести имя пользователя и пароль и проанализировать URL-адрес, например, при подключении базы данных, где вы можете указать пароль пользователя в строке подключенияsecure xml parsing in python

+1

-1. Вы отказываетесь принимать ответы, и вы игнорируете этот факт, когда ему говорят об этом. Учитесь отвечать взаимностью. – user225312

+0

извините abt, что я добрая новая для stackoverflow – Rakesh

ответ

3

Ребята, я нашел способ проанализировать защищенный паролем XML, это то, что я сделал.

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

Да, это возможно. Перед анализом XML-документа с помощью lxml вам необходимо получить его, выполнив HTTP-запрос, который правильно обрабатывает аутентификацию HTTP Basic/Digest. Например, с urllib2.HTTPBasicAuthHandler, как в этом решении: Python urllib2 HTTPBasicAuthHandler