python pycurl验证basic和digest认证的方法
简介
pycurl类似于Python的urllib,但是pycurl是对libcurl的封装,速度更快。
本文使用的是pycurl7.43.0.1版本。
Apache下配置Basic认证
生成basic密码文件
htpasswd-bcpasswd.basictest123456
开启mod_auth_basic
LoadModuleauth_basic_modulemodules/mod_auth_basic.so
配置到具体目录
AuthName"BasicAuthDir" AuthTypeBasic AuthUserFileconf/passwd.basic requirevalid-user
重启Apache
Apache下配置Digest认证
生成Digest密码文件
htdigest-cpasswd.digest"DigestEncrypt"test
开启mod_auth_digest
LoadModuleauth_digest_modulemodules/mod_auth_digest.so
配置到具体目录
AuthTypeDigest AuthName"DigestEncrypt"#要与密码的域一致 AuthDigestProviderfile AuthUserFileconf/passwd.digest requirevalid-user
重启Apache
验证Basic认证
#-*-coding:utf-8-*- importpycurl try: fromioimportBytesIO exceptImportError: fromStringIOimportStringIOasBytesIO buffer=BytesIO() c=pycurl.Curl() c.setopt(c.URL,'http://test/basic/') c.setopt(c.WRITEDATA,buffer) c.setopt(c.HTTPAUTH,c.HTTPAUTH_BASIC) c.setopt(c.USERNAME,'test') c.setopt(c.PASSWORD,'123456') c.perform() print('Status:%d'%c.getinfo(c.RESPONSE_CODE)) print(buffer.getvalue()) c.close()
验证Digest认证
#-*-coding:utf-8-*- importpycurl try: fromioimportBytesIO exceptImportError: fromStringIOimportStringIOasBytesIO buffer=BytesIO() c=pycurl.Curl() c.setopt(c.URL,'http://test/digest/') c.setopt(c.WRITEDATA,buffer) c.setopt(c.HTTPAUTH,c.HTTPAUTH_DIGEST) c.setopt(c.USERNAME,'test') c.setopt(c.PASSWORD,'123456') c.perform() print('Status:%d'%c.getinfo(c.RESPONSE_CODE)) print(buffer.getvalue()) c.close()
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。