1
下面的代碼工作,但給人即使有文件實例躺在後面響應無輸出HTTP認證頭,沒有「境界」
import urllib2
from ntlm import HTTPNtlmAuthHandler
user = 'id'
password = "Password"
url = "http://abc.def.ghij:3080"
passman = urllib2.HTTPPasswordMgrWithDefaultRealm()
passman.add_password(None, url, user, password)
# create the NTLM authentication handler
auth_NTLM = HTTPNtlmAuthHandler.HTTPNtlmAuthHandler(passman)
# create and install the opener
opener = urllib2.build_opener(auth_NTLM)
urllib2.install_opener(opener)
# retrieve the result
response = urllib2.urlopen("http://abc.def.ghij:3080")
print response.read()
print response.headers
頭回應:
Cache-Control: private
Content-Length: 0
Location: /index.epx
Server: Microsoft-IIS/7.5
X-AspNet-Version: 4.19
Persistent-Auth: true
X-Powered-By: ASP.NET
Date: Thu, 04 Jul 2013 15:30:03 GMT
Connection: close
但print response.read
不提供任何內容:O
通過安全連接(SSL/TLS)可以接受基本身份驗證,但我同意摘要更好。但是,我仍然將Digest保持在一個安全的連接上,因爲它依賴於MD5,它存在一些已證實的缺陷。另外,我收集[Microsoft不再推薦NTLM](http://msdn.microsoft.com/zh-cn/library/cc236715.aspx)。從安全的角度來看,最好的選擇可能是用於身份驗證的客戶端證書,但對於用戶來說這可能很麻煩。 – Cartroo
@Webmaster在www.dekh我實施了你的建議其工作,但我在這裏奇怪的問題...請看看編輯的問題! – Sangamesh
問題解決..謝謝你這麼多傢伙! – Sangamesh