PythonでWebリクエストをするときにいろいろな認証を通す方法

PythonでWebリクエストをするときにいろいろな認証を通すためのライブラリのメモ。

Request

Requests: HTTP for Humans™ — Requests 2.21.0 documentation

言わずもがなの有名なライブラリ。普通の用途はこれで何とかなる。 利用できる認証方式は以下の通り(使い方はAuthentication — Requests 2.21.0 documentationを参照)。

  • Basic Authentication
  • netrc Authentication
  • Digest Authentication
  • 自作の認証

日本語では以下などが参考になる。

request-kerberos, request-ntlm

イントラ環境下だと上記のようなオープンな方式ではなく、Active Directoryなんかの認証を通したい場合もある。そういった場合は以下のようなサードパーティのライブラリを利用する。 利用できる認証方式は名前の通り。

例えばSharePointの内容をスクレイピングしたいような場合は上記のようなライブラリは必須。

requests-oauthlib

OAuth関連の認証を利用したい場合は以下のライブラリを利用する。

Requests-OAuthlib: OAuth for Humans — Requests-OAuthlib 1.0.0 documentation

OAuth1, OAuth2に対応している。

その他いろいろ

*1:まだ読んでいませんが

*2:RFC読むという手もあるけど...どれがどれやら