#!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基本验证
最新推荐文章于 2022-08-21 21:24:39 发布