Home >Backend Development >Python Tutorial >python pycurl method to verify basic and digest authentication
This article mainly introduces the method of python pycurl to verify basic and digest authentication. Now I will share it with you and give you a reference. Let’s take a look together
Introduction
pycurl is similar to Python’s urllib, but pycurl is an encapsulation of libcurl and is faster.
This article uses pycurl version 7.43.0.1.
Configure Basic authentication under Apache
Generate basic password file
htpasswd -bc passwd.basic test 123456
Open mod_auth_basic
LoadModule auth_basic_module modules/mod_auth_basic.so
Configure to a specific directory
<Directory "D:/test/basic"> AuthName "Basic Auth Dir" AuthType Basic AuthUserFile conf/passwd.basic require valid-user </Directory>
Restart Apache
Configure Digest authentication under Apache
Generate Digest password file
htdigest -c passwd.digest "Digest Encrypt" test
Turn on mod_auth_digest
LoadModule auth_digest_module modules/mod_auth_digest.so
Configure to a specific directory
<Directory "D:/test/digest"> AuthType Digest AuthName "Digest Encrypt" # 要与密码的域一致 AuthDigestProvider file AuthUserFile conf/passwd.digest require valid-user </Directory>
Restart Apache
Verify Basic Authentication
# -*- 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()
Verify Digest Authentication
# -*- 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()
The above is the detailed content of python pycurl method to verify basic and digest authentication. For more information, please follow other related articles on the PHP Chinese website!