以干净的方式将pkcs 12支持添加到请求库,而不需要进行猴子修补或临时文件

requests-pkcs12的Python项目详细描述


这个库将pkcs 12支持添加到python requests库中。

它是一个clean实现:它既不使用monkey补丁,也不使用临时文件。相反,它被集成到requestsas中 作者建议:创建一个自定义的TransportAdapter,它提供一个自定义的SSLContext

在由requests直接提供此功能之前,此库是一个过渡解决方案。不过,这需要一些时间。有关详细信息,请参见corresponding issue

用法

对于简单的一次性请求,可以使用此库作为requestslibrary:

fromrequests_pkcs12importgetr=get('https://example.com/test',pkcs12_filename='clientcert.p12',pkcs12_password='correcthorsebatterystaple')

如果您正在使用requests会话,请使用Pkcs12Adapter

fromrequestsimportSessionfromrequests_pkcs12importPkcs12AdapterwithSession()ass:s.mount('https://example.com',Pkcs12Adapter(pkcs12_filename='clientcert.p12',pkcs12_password='correcthorsebatterystaple'))r=s.get('https://example.com/test')

安装

此库可用作PyPI package

pip install requests_pkcs12

或者,您可以通过git:

git clone https://github.com/m-click/requests_pkcs12

参数

支持以下关键字参数:

  • pkcs12_filename是一个字节字符串或unicode字符串,包含加密pkcs 12证书的文件名。
    • 必须提供此参数或pkcs12_data
  • pkcs12_data是一个字节字符串,包含加密的pkcs 12证书数据。
    • 必须提供此参数或pkcs12_filename
  • pkcs12_password是包含密码的字节字符串或Unicode字符串。
    • 无论何时提供pkcs12_filenamepkcs12_data,都必须提供此参数。

如果使用这些参数,请不要同时使用requests的内置cert参数。但是,请使用其他参数。特别是,请使用the “verify” parameter来验证服务器端证书。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何修改打印板?   java Spring批处理JdbcCursorItemReader还是RepositoryItemReader?   java如何在JTable Swing中增加标题列的字体?   java在数组方面遇到问题,导致表达式非法启动   java如何为maven pom的某些部分关闭Eclipse代码格式化程序。xml   java Dropwizard登录代码   java Jersey 2.22:客户端的默认连接超时是多少?   java无法自动连接字段:javax。sql。数据来源   如何从java中的行列表中获取单词列表?   java JDBC批量更新和处理异常?   计算大根:bigdecimal/java   java如何在JavaCC语法中提到trycatch块   javasocket。getInetAddress()不返回任何内容   oracle SQL开发人员错误无法找到Java虚拟机   java我如何计算和显示未来5年每一年的投资价值   java如何关闭浏览器选项卡?   java如何在showMessageDialog中打印双2D数组?   java从站点抓取播放列表URL?   selenium中的java点击css按钮