2011-02-28 64 views
0

我需要幫助使用urllib認證登錄到這個站點。我使用python 3,但我願意恢復到2.x. 這是我有聲發射(基本上是從文件),它使沒有錯誤,但它在不記錄。Python的urlib和認證

file =open("loggedinsource.html",'wb') 

# Create an OpenerDirector with support for Basic HTTP Authentication... 
auth_handler = urllib.request.HTTPBasicAuthHandler() 
auth_handler.add_password(realm='kalahari.net',uri='https://www.kalahari.net/profile/pipeline/signin.aspx?',user='myuser',passwd='mypass') 

opener = urllib.request.build_opener(auth_handler) 

# ...and install it globally so it can be used with urlopen. 
urllib.request.install_opener(opener) 
f=urllib.request.urlopen('https://www.kalahari.net/profile/pipeline/signin.aspx?') 

page=f.read() 
file.write(page); 
file.close() 

我一直在爲此而努力的年齡,任何幫助,請。

+0

我們可以用代碼的問題有所幫助,但不能與「努力」。你甚至知道你需要基本的HTTP認證嗎?大多數網站使用會話/ cookie ... – 2011-02-28 21:20:01

+3

剛剛嘗試訪問OP代碼中的URL,它使用表單捕獲用戶/密碼,而不是HTTP基本身份驗證。 – bgporter 2011-02-28 21:48:57

回答

1

您嘗試登錄的網站未使用HTTP基本身份驗證;它使用常規的HTML表單。

如果你想登錄到這樣的事情,你可能想看看像mechanize

+0

謝謝,我不知道是否需要HTTP Auth或不是,這對Python和Web編程來說很新穎。謝謝我將研究機械化,並且我聽說ClientForm也可以有用。 – Vort3x 2011-03-01 07:22:38