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
Activer mod_auth_basic
LoadModule auth_basic_module modules/mod_auth_basic.so
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>
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
Activer mod_auth_digest
LoadModule auth_digest_module modules/mod_auth_digest.so
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>
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, '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()
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, '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()
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!