python pycurl验证basic和digest认证的方法
作者:lilongsy 发布时间:2022-12-17 23:01:15
标签:python,digest,basic
简介
pycurl类似于Python的urllib,但是pycurl是对libcurl的封装,速度更快。
本文使用的是pycurl 7.43.0.1版本。
Apache下配置Basic认证
生成basic密码文件
htpasswd -bc passwd.basic test 123456
开启mod_auth_basic
LoadModule auth_basic_module modules/mod_auth_basic.so
配置到具体目录
<Directory "D:/test/basic">
AuthName "Basic Auth Dir"
AuthType Basic
AuthUserFile conf/passwd.basic
require valid-user
</Directory>
重启Apache
Apache下配置Digest认证
生成Digest密码文件
htdigest -c passwd.digest "Digest Encrypt" test
开启mod_auth_digest
LoadModule auth_digest_module modules/mod_auth_digest.so
配置到具体目录
<Directory "D:/test/digest">
AuthType Digest
AuthName "Digest Encrypt" # 要与密码的域一致
AuthDigestProvider file
AuthUserFile conf/passwd.digest
require valid-user
</Directory>
重启Apache
验证Basic认证
# -*- coding: utf-8 -*-
import pycurl
try:
from io import BytesIO
except ImportError:
from StringIO import StringIO as BytesIO
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 -*-
import pycurl
try:
from io import BytesIO
except ImportError:
from StringIO import StringIO as BytesIO
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()
来源:https://blog.csdn.net/lilongsy/article/details/79086569
0
投稿
猜你喜欢
- 代码如下:CREATE FUNCTION dbo.f_splitstr( @str varchar(8000) )RETURNS
- 这篇文章主要介绍了Python检查 云备份进程是否正常运行代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价
- 脚本要实现的功能:输入instance id1:将所有的volume take snapshot2: 获取public ip 并
- python新手一枚,操作系统Win10 64 bit,Python版本,3.7因为某个脚本需要用到win32con 和win32api模块
- ALTER TABLE 表名字 ADD CONSTRAINT pk_表名字 PRIMARY KEY( SNumber, SDate ); S
- 本文实例讲述了JavaScript实现为input与textarea自定义hover,focus效果的方法。分享给大家供大家参考。具体如下:
- 前言今天我要教大家的是 如何实现nonebot插件之ChatGpt注意,本文涉及异步爬虫,json文件读写等知识点准备1.获取开发者key获
- 列表更多的方法index():返回指定数据所在位置的下标 (注意:如果查找的数据不存在则报错。)。count():统计指定数据在当前列表中出
- 目录1)Golang字符串包含功能[区分大小写]2)Golang ContainsAny()[区分大小写]3)Golang Count()
- subplot函数介绍matplotlib下, 一个 Figure 对象可以包含多个子图(Axes), 可以使用 subplot() 快速绘
- 自动发送邮件功能是我们经常要用到的,比如每天定时统计报表信息,然后自动发送给运营人员,协助运营人员进行业务数据分析。本文是用Python写的
- 今天有个哥们问我要是JavaScript函数重名了会有什么后果?开始我没有细想,就说可能会出错吧,可是等我实验完了发现页面没有任何脚本错误提
- Python虚拟机注:本篇是根据教程学习记录的笔记,部分内容与教程是相同的,因为转载需要填链接,但是没有,所以填的原创,如果侵权会直接删除。
- Python安装为什么默认安装到c盘?所有的软件如果你不对安装过程的路径进行设置的话都是默认安装到c盘的,不仅仅是Python。那安装到c盘
- smtp是直接调用163邮箱的smtp服务器,需要在163邮箱中设置一下。outlook发送就是Python直接调用win32方式。调用程序
- 本文实例讲述了Ubuntu下使用Python实现游戏制作中的切分图片功能。分享给大家供大家参考,具体如下:why拿到一个人物行走的素材,要用
- 一、效果展示此次只选录了以下五种手势,当然你可以自己选择增加手势。二、项目实现原理首先通过opencv的手部检测器检测出我们的手,然后录入自
- 一、模块简介Beautiful Soup 是一个可以从HTML或XML文件中提取数据的Python库.它能够通过你喜欢的转换器实现惯用的文档
- 蜜蜂可以看到紫外线,人则看不到;蛇和蚊子可以看到红外线,人则看不到。火狐(Firefox)浏览器也可以看到人们看不到的东西,但迄今为止,这些
- 今天介绍Python当中十大可视化工具,每一个都独具特色,惊艳一方。MatplotlibMatplotlib 是 Python 的一个绘图库