Python 使用 Requests 模块进行身份验证

Requests 可以说是 Python 最好用的 http 模块,没有之一。

它对于身份验证有非常方便的使用规则。

基本身份验证

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

因为这种验证非常常用,所以也提供了方便的写法。

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

摘要式身份认证

>>> 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

>>> 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]>

更多复杂验证如 OAuth 2,请参看 文档

最近更新

Python 对 JSON 中的特殊类型进行 Encoder

Centos7 如何安装 Redis

apt 下载报错 [Could not get lock /var/lib/dpkg/lock-frontend]

Python 内存管理之 `*` 运算的陷阱

Python 命令行参数模块 argparse

Linux split 分割日志

Linux date 获取指定时间

Python 内存管理

Python collections.namedtuple() 命名元组的工厂函数

Linux 查看文件的几种方式

最近热读

Go 判断数组中是否包含某个 item

办理北京工作居住证的一些细节

Go 语法错误:Non-declaration statement outside function body

Vim 高级功能 vimgrep 全局搜索文件

Python APScheduler 定时任务

扫码关注公众号,或搜索公众号“温欣爸比” 及时获取我的最新文章

我来评几句
登录后评论

已发表评论数()

相关站点

热门文章