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に対して、安全にリクエストを行うことができます。.

投稿者 admin

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です