•什麼是http基本認證:
桌面應用程式也通過http協議跟web伺服器互動,桌面應用程式一般不會使用cookie,而是把『使用者名稱+:+密碼』用base64編碼之後的string放在request中的header authorization中傳送給服務端。
當開啟網頁提示需要輸入賬號和密碼時,假設密碼/賬號錯誤,伺服器會返回401錯誤。
•http基本認證的過程:
1)客戶端傳送request給服務端,
2)因為request中沒有包含authorization header,伺服器會返回乙個401錯誤給客戶端。
3)客戶端把使用者名稱和密碼用base64編碼之後,放在authorization header中傳送給伺服器,認證成功。
4)服務端將authorization header中的使用者名稱和密碼取出來,進行驗證,如果驗證通過將根據需求傳送資源給客戶端。
•http oauth認證
oauth對於http來講,就是放在oauthorization header中的不是使用者名稱和密碼,而是乙個token。
•python案例:
#python 27
#xiaodeng
#http權威指南 133
#通過新增http header來實現
import
urllib,urllib2
from base64 import
encodestring
url=''
user=''
passwd=''
req=urllib2.request(url)
basestr=encodestring('
%s:%s
'%(user,passwd))[:1]
req.add_header(
'authorization
','basic %s
'%basestr)
f=urllib2.urlopen(req)
#通過headler來實現
建立密碼管理器
url = "
"password_mgr.add_password(none, url, username, password)
#新增使用者名稱和密碼.如果知道realm,用它代替none.
建立opener
a_url = '
'opener.open(a_url)
#開啟乙個url
urllib2.install_opener(opener) #
安裝opener,以後urllib2.urlopen都會用它。
importurllib2
import
base64
theurl = '
'req=urllib2.request(theurl)
username = ''
password = ''
base64string = base64.encodestring('
%s:%s
' % (username, password))[:-1] #
注意哦,這裡最後會自動新增乙個\n
authheader = "
basic %s
" %base64string
req.add_header(
"authorization
", authheader)
handle =urllib2.urlopen(req)
thepage =handle.read()
print thepage
HTTP協議之基本認證
閱讀目錄 什麼是http基本認證 http基本認證的過程 http基本認證的優點 每次都要進行認證 http基本認證和https一起使用就很安全 http oauth認證 其他認證 客戶端的使用 桌面應用程式也通過http協議跟web伺服器互動,桌面應用程式一般不會使用cookie,而是把 使用者名...
HTTP協議之基本認證
桌面應用程式也通過http協議跟web伺服器互動,桌面應用程式一般不會使用cookie,而是把 使用者名稱 冒號 密碼 用base64演算法加密後的字串放在http request 中的header authorization中傳送給服務端,這種方式叫http基本認證 basic authentic...
HTTP協議基本認證
閱讀目錄 什麼是http基本認證 http基本認證的過程 http基本認證的優點 每次都要進行認證 http基本認證和https一起使用就很安全 http oauth認證 其他認證 客戶端的使用 桌面應用程式也通過http協議跟web伺服器互動,桌面應用程式一般不會使用cookie,而是把 使用者名...