2012-04-17 38 views
7

Webページを読み込もうとしましたが、この問題が発生しました。私はユーザー名とパスワードを持っていますが、私はどのようにそれらをPythonコードで使用するのか分かりません。私はPythonのチュートリアルを見て、これは私が書いたものです:Python:urllib2.HTTPError:HTTPエラー401:無許可

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 

何か間違っていますか?ここで

答えて

20

はコード

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() 
5

を働いている私はあなたがそれはあなたのためのより簡単なことになるだろう要求モジュールを使用することができると思います。

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 
+1

があるため、私のPythonのバージョンのものであってもよいが、ちょうど他の人が知っているように:私はこれが(ページ= r.content)動作させるためにr.content()に括弧を削除する必要がありました。 –

関連する問題