使用Python的requests库作接口测试——身份认证

时间:2022-12-13 17:19:10

基本身份认证

许多要求身份认证的web服务都接受HTTP Basic Auth。这是最简单的一种身份认证,并且Requests对这种认证方式的支持是直接开箱即可用。

以HTTP Basic Auth发送请求非常简单:

>>> requests.get('https://api.github.com/user', auth=('user', 'pass'))
<Response [200]>

摘要式身份认证

另一种非常流行的HTTP身份认证形式是摘要式身份认证,Requests对它的支持也是开箱即可用的:

>>> from requests.auth import HTTPDigestAuth
>>> url = 'http://httpbin.org/digest-auth/auth/user/pass'
>>> requests.get(url, auth=HTTPDigestAuth('user', 'pass'))
<Response [200]>

OAuth 1 Authentication

>>> import requests
>>> from requests_oauthlib import OAuth1

>>> url = 'https://api.twitter.com/1.1/account/verify_credentials.json'
>>> auth = OAuth1('YOUR_APP_KEY', 'YOUR_APP_SECRET',
'USER_OAUTH_TOKEN', 'USER_OAUTH_TOKEN_SECRET')

>>> requests.get(url, auth=auth)
<Response [200]>