您的位置:首页 > 理论基础 > 计算机网络

python模拟登录http basic authentication网站

2016-02-29 10:52 746 查看
当访问需要认证的网站时会提示输入正确的用户和密码





如果密码错误会返回401的状态码

401 Authorization Required

通过python脚本模拟登录
#!/usr/bin/python
#-*-coding:utf-8-*-

import urllib2

#登录的用户名和密码
username = "root"
password = "redhat"
url="http://192.168.209.200/"

def Func(url, username, password):
try:
# 创建一个密码管理者
password_mgr = urllib2.HTTPPasswordMgrWithDefaultRealm()
# 添加用户名和密码
password_mgr.add_password(None, url, username, password)
# 创建了一个新的handler
handler = urllib2.HTTPBasicAuthHandler(password_mgr)
# 创建 "opener"
opener = urllib2.build_opener(handler)
# 使用 opener 获取一个URL
opener.open(url)
# 安装 opener.
urllib2.install_opener(opener)
#urllib2.urlopen 使用上面的opener.
ret = urllib2.urlopen(url)
return ret.read()
except urllib2.HTTPError, e:
if e.code == 401:
return "authorization failed"
else:
raise e
except:
return None

print Func(url, username, password)


测试访问时返回:
[root@localhost ~]# python http_base.py
test...............

本文出自 “网络收藏夹” 博客,请务必保留此出处http://liyaoyi.blog.51cto.com/442933/1745907
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: