码迷,mamicode.com
首页 > 编程语言 > 详细

python模拟登录http basic authentication网站

时间:2016-02-29 14:47:05      阅读:285      评论:0      收藏:0      [点我收藏+]

标签:python   urllib2   python登录验证   httppasswordmgrwithdefaultrealm   


  当访问需要认证的网站时会提示输入正确的用户和密码

技术分享



如果密码错误会返回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

python模拟登录http basic authentication网站

标签:python   urllib2   python登录验证   httppasswordmgrwithdefaultrealm   

原文地址:http://liyaoyi.blog.51cto.com/442933/1745907

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!