前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >cssjshtml Authorization认证不过期

cssjshtml Authorization认证不过期

作者头像
葫芦
发布2019-10-24 10:12:27
7940
发布2019-10-24 10:12:27
举报
文章被收录于专栏:葫芦葫芦

•什么是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案例:

代码语言:javascript
复制
#python 27
#xiaodeng
#HTTP权威指南 133

#通过添加HTTP header来实现
代码语言:javascript
复制
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)
代码语言:javascript
复制
#通过headler来实现
import urllib2
password_mgr = urllib2.HTTPPasswordMgrWithDefaultRealm()#创建密码管理器
url = "http://www.163.com/"
password_mgr.add_password(None, url, username, password)# 添加用户名和密码.如果知道realm,用它代替None.
handler = urllib2.HTTPBasicAuthHandler(password_mgr)

opener = urllib2.build_opener(handler)#创建opener
a_url = 'http://www.baidu.com/'  
opener.open(a_url)#打开一个url
urllib2.install_opener(opener) #安装opener,以后urllib2.urlopen都会用它。
代码语言:javascript
复制
代码语言:javascript
复制
import urllib2
import base64

theurl = 'http://api.minicloud.com.cn/statuses/friends_timeline.xml' 
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

以上转自:xiaodeng

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2016/10/24 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
访问管理
访问管理(Cloud Access Management,CAM)可以帮助您安全、便捷地管理对腾讯云服务和资源的访问。您可以使用CAM创建子用户、用户组和角色,并通过策略控制其访问范围。CAM支持用户和角色SSO能力,您可以根据具体管理场景针对性设置企业内用户和腾讯云的互通能力。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档