python pycurl驗證basic和digest認證的方法

不言
發布: 2018-05-02 13:48:11
原創
2192 人瀏覽過

這篇文章主要介紹了python pycurl驗證basic和digest認證的方法,現在分享給大家,也給大家做個參考。一起來看看吧

簡介

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, &#39;http://test/basic/&#39;)
c.setopt(c.WRITEDATA, buffer)
c.setopt(c.HTTPAUTH, c.HTTPAUTH_BASIC)
c.setopt(c.USERNAME, &#39;test&#39;)
c.setopt(c.PASSWORD, &#39;123456&#39;)
c.perform()
print(&#39;Status: %d&#39; % 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, &#39;http://test/digest/&#39;)
c.setopt(c.WRITEDATA, buffer)
c.setopt(c.HTTPAUTH, c.HTTPAUTH_DIGEST)
c.setopt(c.USERNAME, &#39;test&#39;)
c.setopt(c.PASSWORD, &#39;123456&#39;)
c.perform()
print(&#39;Status: %d&#39; % c.getinfo(c.RESPONSE_CODE))
print(buffer.getvalue())
c.close()
登入後複製
############################

以上是python pycurl驗證basic和digest認證的方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!