python http基本验证方法

yipeiwu_com5年前Python基础

如下所示:

#!usr/bin/env python
# -*- coding: utf-8 -*-
import urllib2
 
LOGIN = ""
PASSWORD = ""
URL = ""
REALM = "Secure Archive"
 
def handler_version(url):
 from urlparse import urlparse#urlparse用来将url拆成各个部分scheme netloc path params query fragment
 hdlr = urllib2.HTTPBasicAuthHandler()#http验证类 里面有用户名和密码
 hdlr.add_password(REALM, urlparse(url)[1], LOGIN, PASSWORD)#将url 用户名 密码添加进去
 opener = urllib2.build_opener(hdlr)#urlopen不支持验证等高级功能 所以自定义opener
 urllib2.install_opener(opener)#建立url开启器
 return url
 
def request_version(url):
 from base64 import encodestring#编码
 req = urllib2.Request(url)#开始请求页面
 b64str = encodestring('%s:%s' % (LOGIN, PASSWORD))[:-1]#将sting转换成base64-data形式 base64为一种形式的二进制编码
 req.add_header("Authorization", "Basic %s" % b64str)#添加header标头
 return req
 
for funcType in ('handler', 'request'):
 print '***Using %s:' % funcType.upper()
 url = eval('%s_version' % funcType)(URL)#eval 将字符串转换成有效的表达式并返回结果
 f = urllib2.urlopen(url)
 print f.readline()
 f.close()

以上这篇python http基本验证方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

浅析python递归函数和河内塔问题

关于递归函数:   函数内部调用自身的函数。 以n阶乘为例:   f(n) = n ! = 1 x 2 x 3 x 4 x...x(n-1)x(n) = n x (n-1) ! de...

用Python编写脚本使IE实现代理上网的教程

厂里上个网需要设置代理服务器,切换各种环境『包括但不仅限于开发环境、QA、预上线、验收、生产环境、压力测试、Demo……』都需要给浏览器设置不同的代理服务器。 虽然俺有神器Firefox...

关于ZeroMQ 三种模式python3实现方式

关于ZeroMQ 三种模式python3实现方式

ZeroMQ是一个消息队列网络库,实现网络常用技术封装。在C/S中实现了三种模式,这段时间用python简单实现了一下,感觉python虽然灵活。但是数据处理不如C++自由灵活。 Req...

机器学习之KNN算法原理及Python实现方法详解

本文实例讲述了机器学习之KNN算法原理及Python实现方法。分享给大家供大家参考,具体如下: 文中代码出自《机器学习实战》CH02,可参考本站: 机器学习实战 (Peter Harri...

python检测某个变量是否有定义的方法

本文实例讲述了python检测某个变量是否有定义的方法。分享给大家供大家参考。具体如下: 第一种方法使用内置函数locals(): 'testvar'   in&nb...