0Pricing
Flask Academy · レッスン

ヘッダー、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.path

HTTPメソッドを判別する

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フィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. request.argsでクエリ文字列を扱う
  2. request.formでフォームフィールドを扱う
  3. request.get_jsonでJSON本文を扱う
  4. ヘッダー、Cookie、クライアントIP
← Flask Academyに戻る