1.通过添加http header 来实现

import urllib2
from base64 import encodestring url = 'http://202.108.1.51'
user = 'a'
passwd = 'aa' req = urllib2.Request(url)
basestr = encodestring('%s:%s' % (user,passwd))[:-1]
req.add_header('Authorization','Basic %s' % basestr) f = urllib2.urlopen(req)
for i in f:
print i

2.通过handler来实现

urllib2中的HTTPBasicAuthHandler 默认使用的密码管理器是HTTPPasswordMgr ,这个管理器要求你知道认证的realm,realm就是认证时弹出来的那个字符串,如下面的hello

我们先用默认的密码管理器来实现

import urllib2

url = 'http://202.108.1.51'
user = 'a'
passwd = 'aa' hdlr = urllib2.HTTPBasicAuthHandler()
hdlr.add_password('hello',url,user,passwd) ##此处需添入realm
opener = urllib2.build_opener(hdlr)
urllib2.install_opener(opener) f = urllib2.urlopen(url)
for i in f:
print i

为了更通用我们来用HTTPPasswordMgrWithDefaultRealm密码管理器来实现

import urllib2

url = 'http://202.108.1.51'
user = 'a'
passwd = 'aa' psmg = urllib2.HTTPPasswordMgrWithDefaultRealm()
psmg.add_password(None,url,user,passwd)
hdlr = urllib2.HTTPBasicAuthHandler(psmg)
opener = urllib2.build_opener(hdlr)
urllib2.install_opener(opener) f = urllib2.urlopen(url)
for i in f:
print i

更多信息见:http://www.cnblogs.com/ubunoon/archive/2010/08/25/1807970.html

http://blog.csdn.net/adrianfeng/article/details/5864510

python urllib2 Basic认证的更多相关文章

  1. python urllib2使用心得

    python urllib2使用心得 1.http GET请求 过程:获取返回结果,关闭连接,打印结果 f = urllib2.urlopen(req, timeout=10) the_page = ...

  2. [ASP.NET MVC] 利用自定义的AuthenticationFilter实现Basic认证

    很多情况下目标Action方法都要求在一个安全上下文中被执行,这里所谓的安全上下文主要指的是当前请求者是一个经过授权的用户.授权的本质就是让用户在他许可的权限范围内做他能够做的事情,授权的前提是请求者 ...

  3. iOS进行Basic认证与NTLM认证

    一.iOS进行Basic认证 只需要在NSMutableURLRequest的Header中添加认证所需的Username和password. NSMutableURLRequest *webReq ...

  4. Nginx 配置 Basic 认证

    /* * 环境:LNMP(CentOS 6.6 + Nginx 1.8.0) */ 在 Nginx 下配置 Basic 认证需要依靠 Nginx 的 http_auth_basic_module 模块 ...

  5. Apache 配置 Basic 认证

    /* * 环境:WAMP( Windows7 + WampServer2.2(Apache 2.2.21)) */ 配置过程: ① 生成用户文件,文件路径可以使用绝对路径,也可以使用相对路径 进入 a ...

  6. Basic认证

    Basic 概述 Basic 认证是HTTP 中非常简单的认证方式,因为简单,所以不是很安全,不过仍然非常常用. 当一个客户端向一个需要认证的HTTP服务器进行数据请求时,如果之前没有认证过,HTTP ...

  7. Http Basic认证

    Http Basic认证就是访问的时候把用户名和密码用base64加密放在request的header的authorization中 服务端直接获取authorization,解析,跟用户名匹配即可. ...

  8. Burpsuite之Http Basic认证爆破

    有的时候经常遇到401.今天正好朋友问怎么爆破,也顺便记录一下 怕忘记了 referer:http://www.2cto.com/Article/201303/194449.html 看到Burpsu ...

  9. python urllib2 模拟网站登陆

    python urllib2 模拟网站登陆 1. 可用浏览器先登陆,然后查看网页源码,分析登录表单 2. 使用python urllib2,cookielib 模拟网页登录 import urllib ...

随机推荐

  1. 【IOS笔记】About Events in iOS

    About Events in iOS Users manipulate their iOS devices in a number of ways, such as touching the scr ...

  2. C#winform控制textbox输入只能为数字

    添加keyPress事件,控制键盘输入只能是自然数: /// <summary> /// 控制键盘输入只能是自然数 /// </summary> /// <param n ...

  3. memcached学习笔记5--socke操作memcached 缓存系统

    使用条件:当我们没有权限或者不能使用服务器的时候,我们需要用socket操作memcached memcached-client操作 特点: 无需开启memcache扩展 使用fsocketopen( ...

  4. Nginx部署ThinkPHP项目的办法

    thinkphp config配置: ', //URL模式 nginx rewrite配置: location / { if (!-e $request_filename) { rewrite ^(. ...

  5. mysql默认字符集修改

    (1) 最简单的修改方法,就是修改mysql的my.ini文件中的字符集键值,添加 [mysql] default-character-set = utf8 [mysqld] character_se ...

  6. 1763 An Essay towards solving a Problem in the Doctrine of Chances

    https://en.wikipedia.org/wiki/An_Essay_towards_solving_a_Problem_in_the_Doctrine_of_Chances

  7. The insertion sort algorithm expressed in pseudocode - 插入排序

    Computer Science An Overview _J. Glenn Brookshear _11th Edition procedure Sort (List) N ← 2; while ( ...

  8. 发现了一个很好的Pasical编程软件Lazarus

    下载地址:http://www.lazarus.freepascal.org/ 中文社区:http://www.fpccn.com/ 该软件有几点如下特征: 1.跨平台.体积小(只有100多M) 2. ...

  9. Bootstrap 路径分页标签和徽章组件

    一.路径组件 路径组件也叫做面包屑导航. //面包屑导航 <ol class="breadcrumb"> <li><a href="#&qu ...

  10. SHELL 八大扩展

    最近在梳理bash知识的的过程中,有幸阅读了man bash文档,一时间犹如醍醐灌顶一般,很多当初不明白的地方都豁然开朗,现在就其中的一点做一分享,同时也为man bash做一下广告,当你面对bash ...