méthode python pycurl pour vérifier l'authentification de base et digest

不言
Libérer: 2018-05-02 13:48:11
original
2204 Les gens l'ont consulté

Cet article présente principalement la méthode de vérification de l'authentification de base et digest dans python pycurl. Maintenant, je le partage avec vous et le donne comme référence. Jetons un coup d'œil ensemble

Introduction

pycurl est similaire à l'urllib de Python, mais pycurl est un wrapper de libcurl et est plus rapide.

Cet article utilise la version 7.43.0.1 de pycurl.

Configurer l'authentification de base sous Apache

Générer un fichier de mot de passe de base

htpasswd -bc passwd.basic test 123456
Copier après la connexion

Activer mod_auth_basic

LoadModule auth_basic_module modules/mod_auth_basic.so
Copier après la connexion

Configurer sur un répertoire spécifique

<Directory "D:/test/basic">
  AuthName "Basic Auth Dir"
  AuthType Basic
  AuthUserFile conf/passwd.basic
  require valid-user
</Directory>
Copier après la connexion

Redémarrer Apache

Configurer l'authentification Digest sous Apache

Générer le fichier de mot de passe Digest

htdigest -c passwd.digest "Digest Encrypt" test
Copier après la connexion

Activer mod_auth_digest

LoadModule auth_digest_module modules/mod_auth_digest.so
Copier après la connexion

Configurer sur un répertoire spécifique

<Directory "D:/test/digest">
  AuthType Digest
  AuthName "Digest Encrypt" # 要与密码的域一致
  AuthDigestProvider file
  AuthUserFile conf/passwd.digest
  require valid-user
</Directory>
Copier après la connexion

Redémarrer Apache

Vérifier l'authentification de base

# -*- 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()
Copier après la connexion

Vérifier l'authentification 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()
Copier après la connexion


Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal