Если базовая аутентификация = HTTP-аутентификация, используйте это:
import urllib
import urllib2
username = 'foo'
password = 'bar'
passman = urllib2.HTTPPasswordMgrWithDefaultRealm()
passman.add_password(None, MY_APP_PATH, username, password)
authhandler = urllib2.HTTPBasicAuthHandler(passman)
opener = urllib2.build_opener(authhandler)
urllib2.install_opener(opener)
params= { "param1" : param1,
"param2" : param2,
"param3" : param3 }
xmlResults = urllib2.urlopen(MY_APP_PATH, urllib.urlencode(params)).read()
results = MyResponseParser.parse(xmlResults)
Если нет, используйте mechanize
или cookielib
, чтобы сделать дополнительный запрос на вход в систему. Но если служба, к которой вы обращаетесь, имеетXML API, этот API, безусловно, также включает в себя аутентификацию.
2016 edit: В любом случае используйте библиотеку запросы !Все вышеперечисленное обеспечивается одним вызовом.