Python: requestsでBasic認証

Basic認証がかけられたエンドポイントへ、requestsを使ってリクエストする方法です。

$ pip install requests

ID/PWでrequests.auth.HTTPBasicAuthを生成し、requestsのメソッド (ここではpost) の auth へ渡してあげるのがポイントです。

  • HTTPDigestAuthやHTTPProxyAuthも同じように認証できます
import requests
from requests.auth import HTTPBasicAuth

headers = { ... }
data = { ... }

response = requests.post(
    "http://hogehoge.fuga/api/fugafuga", timeout=10, headers=headers, json=data,
    auth=HTTPBasicAuth("user_id", "Passw0rd")
)