Pythonのサードパーティライブラリである「Requests」を使用して、ユーザー認証付きのリクエストを行う方法について説明します。
Basic認証を行う方法
Basic認証を行うためには認証用のメソッドをインポートする必要があります。以下にそのコードを示します。
import requests
from requests.auth import HTTPBasicAuth
url = 'https://example.com'
response = requests.get(url, auth=HTTPBasicAuth('user_id', 'password'))
Digest認証を行う方法
Digest認証を行うためには認証用のメソッドをインポートする必要があります。以下にそのコードを示します。
import requests
from requests.auth import HTTPDigestAuth
url = 'https://example.com'
response = requests.get(url, auth=HTTPDigestAuth('user_id', 'password'))
Form認証を行う方法
Form認証を行うためには少々手間が必要です。フォームにあるセッション情報を用意してあげる必要があり、CRSF(クロスサイト・リクエストフォージェリ対策)対策でTokenが必要です。以下にそのコードを示します。
from bs4 import BeautifulSoup
import requests
url = 'https://example.com'
payload = {
'token': '<後でトークンを取得する>',
'username': '<任意のユーザ名>',
'password': '<パスワード>'
}
# authenticity_tokenの取得
s = requests.Session()
r = s.get(url)
soup = BeautifulSoup(r.text)
payload['token'] = soup.find(attrs={'name': 'token'}).get('value')
# ログイン
s.post('https://example.com/login', data=payload)
以上、PythonのRequestsライブラリを使用して、Basic認証、Digest認証、Form認証を行う方法について説明しました。これらの方法を理解し、適切に使用することで、ユーザー認証が必要なWebサイトやAPIに対して、安全にリクエストを行うことができます。.