10

我试图加载一个网页,但我遇到了这个问题。我确实有用户名和密码,但我不知道如何在 python 代码中使用它们。我查了python教程,这就是我写的:

import urllib2

password_mgr = urllib2.HTTPPasswordMgrWithDefaultRealm()
username = 'user'
password = 'pass'
top_level_url = "www.something.com:80"
password_mgr.add_password(None, top_level_url, username, password)
handler = urllib2.HTTPBasicAuthHandler(password_mgr)
opener = urllib2.build_opener(handler)
opener.open('http://www.something.com/h/h.html')
urllib2.install_opener(opener)
response = urllib2.urlopen()
page = response.read()
print page

哪里不对了?

4

2 回答 2

21

这是工作代码

import urllib2

url = 'http://www.abc.com/index.html'
username = 'user'
password = 'pass'
p = urllib2.HTTPPasswordMgrWithDefaultRealm()

p.add_password(None, url, username, password)

handler = urllib2.HTTPBasicAuthHandler(p)
opener = urllib2.build_opener(handler)
urllib2.install_opener(opener)

page = urllib2.urlopen(url).read()
于 2012-06-22T18:48:07.157 回答
8

我认为你可以使用 requests 模块,这会让你更容易。

import requests
username = 'user'
password = 'pass'
url = 'http://www.example.com/index.html'
r = requests.get(url, auth=(username, password))  
page = r.content
print page
于 2014-07-18T00:19:06.700 回答