ヘッダー、Cookie、クライアントIP
request.headers、cookies、remote_addrにアクセスします
「ヘッダー、Cookie、クライアントIP」はCoddyKit上の無料Flask Academyレッスンです。 これはレッスン4/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはFlask Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Flask Academyコースには全4レッスンが含まれています。
リクエストにはメタデータが含まれる
ボディ以外にも、すべてのリクエストには、ビューから調べられるメタデータとして、ヘッダー、Cookie、クライアントのアドレスなどが含まれています。
request.headersでヘッダーを読み取る
request.headersオブジェクトは、クライアントがリクエストとともに送信したすべてのHTTPヘッダーを、大文字と小文字を区別せずに扱うマッピングです。
agent = request.headers["User-Agent"]ヘッダーは大文字と小文字を区別しない
ヘッダーは設計上、大文字と小文字を区別しないため、content-typeでもContent-Typeでも同じ値を読み取れます。
ct = request.headers.get("Content-Type")Authorizationヘッダーを取得する
APIクライアントはAuthorizationヘッダーに認証情報を含めることが多く、ほかのヘッダー値と同じように読み取れます。
auth = request.headers.get("Authorization")Cookieはrequest.cookiesに格納される
サーバーが以前に設定した値はrequest.cookiesに返されます。これは各Cookie名をキーとする辞書のようなオブジェクトです。
theme = request.cookies.get("theme")Cookieには必ずデフォルト値を設定する
初めて訪問するユーザーにはCookieがないため、初回のリクエストで予期しない動作を避けるには、妥当なデフォルト値を指定して.getを使います。
theme = request.cookies.get("theme", "light")remote_addrでクライアントのIPを取得する
Flaskは接続元のアドレスをrequest.remote_addrとして提供します。ログ記録や簡単なレート制限の管理に便利です。
ip = request.remote_addrプロキシは実際のIPを隠す
プロキシの背後では、remote_addrはプロキシのアドレスになります。実際のクライアントIPは、代わりにX-Forwarded-Forヘッダーに含まれていることがよくあります。
ip = request.headers.get("X-Forwarded-For")リクエストされたURLを確認する
完全なアドレスを確認するにはrequest.urlを調べます。クライアントが要求したルート部分だけが必要ならrequest.pathを使います。
where = request.pathHTTPメソッドを判別する
request.methodを確認すると、このリクエストがGET、POST、または別のメソッドかを判別できます。その結果に応じて処理を分岐します。
if request.method == "POST":
pass診断用のwhoamiビュー
これらを組み合わせると、whoamiルートで呼び出し元のIPとブラウザーを報告できます。実際のトラフィックのデバッグに最適です。
@app.route("/whoami")
def whoami():
return f"{request.remote_addr}"クイックチェック
リクエストのメタデータについて学んだことを確認しましょう。
まとめ:ヘッダーとCookie
ヘッダーとCookieを安全に読み取り、remote_addrでクライアントのIPを取得し、プロキシが実際のアドレスを隠すことを学びました。🚀
よくある質問
「ヘッダー、Cookie、クライアントIP」レッスンは無料ですか?
はい。「ヘッダー、Cookie、クライアントIP」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Flask Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Flask Academyコースには全4レッスンが含まれています。
「ヘッダー、Cookie、クライアントIP」で何を学びますか?
request.headers、cookies、remote_addrにアクセスします ブラウザで直接実行するハンズオンコードでFlask Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Flask Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのFlask Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン4/4です。
「ヘッダー、Cookie、クライアントIP」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このFlask Academyレッスンでコードを書いて実行できますか?
はい。すべてのFlask Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- request.argsでクエリ文字列を扱う
- request.formでフォームフィールドを扱う
- request.get_jsonでJSON本文を扱う
- ヘッダー、Cookie、クライアントIP