PythonのurllibでBasic(ベーシック)認証する方法

Pythonのurllibを使用してBasic(ベーシック)認証を行う方法を説明します。Basic認証はユーザー名とパスワードを使用してHTTPリクエストを認証する方法です。以下は、Basic認証を使用してGETリクエストを送信する例です。

python
import urllib.request import base64 # 認証情報を設定 username = "your_username" password = "your_password" # ユーザー名とパスワードをBase64エンコード credentials = f"{username}:{password}" encoded_credentials = base64.b64encode(credentials.encode('utf-8')).decode('utf-8') # Basic認証ヘッダーを作成 auth_header = f"Basic {encoded_credentials}" # GETリクエストを送信するURLを指定 url = "https://example.com/api" # Basic認証ヘッダーを含むリクエストを作成 request = urllib.request.Request(url) request.add_header("Authorization", auth_header) try: response = urllib.request.urlopen(request) data = response.read() print(data.decode('utf-8')) except urllib.error.HTTPError as e: print(f"HTTPエラーが発生しました: {e.code} - {e.reason}") except urllib.error.URLError as e: print(f"URLErrorが発生しました: {e.reason}") except Exception as e: print(f"予期しないエラーが発生しました: {e}")

このコードでは、指定したURLにアクセスし、Basic認証ヘッダーを設定してリクエストを送信します。必要な認証情報はusernamepasswordに設定してください。

Basic認証ヘッダーはBase64エンコードされ、Authorizationヘッダーに追加されます。安全な通信チャネルを使用することをお勧めし、認証情報を平文でコードに含めることはセキュリティ上の懸念事項となります。