Python
 Computer >> コンピューター >  >> プログラミング >> Python

Python CGIプログラミングでCookieを設定する方法を解説

Cookieの設定方法

CGIプログラムからブラウザへCookieを送信するのは、実はとても簡単です。Cookieは、Content-typeフィールドよりも前に、HTTPヘッダーの一部として送信されます。ここでは、UserIDとPasswordをCookieとして設定する場合を例に、具体的な手順を見ていきましょう。

#!/usr/bin/python
print "Set-Cookie:UserID = XYZ;\r\n"
print "Set-Cookie:Password = XYZ123;\r\n"
print "Set-Cookie:Expires = Tuesday, 31-Dec-2007 23:12:40 GMT;\r\n"
print "Set-Cookie:Domain = www.tutorialspoint.com;\r\n"
print "Set-Cookie:Path = /perl;\n"
print "Content-type:text/html\r\n\r\n"
...........以降にHTMLコンテンツを記述....

この例からも分かるように、Cookieの設定には「Set-Cookie」というHTTPヘッダーを使用します。設定したいCookieの数だけ、Set-Cookieヘッダーを行ごとに出力していきます。

主なCookie属性の意味

Set-Cookieヘッダーでは、以下のような属性を指定できます。これらの属性はすべて省略可能です。

  • Expires: Cookieの有効期限です。この日時を過ぎるとブラウザからCookieが削除されます。
  • Domain: Cookieを送信する対象となるドメイン名を指定します。
  • Path: Cookieが有効になるサーバー上のパスを指定します。

注意点:Content-typeより先にCookieを設定する

最も重要なポイントは、"Content-type:text/html\r\n\r\n"というマジックライン(区切り行)を出力する前に必ずCookieを設定しておくことです。HTTPヘッダーはすべて、この空行によってヘッダー部とボディ部が区切られるため、それ以降にSet-Cookieヘッダーを出力しても正しく機能しません。

なお、上記のコードはPython 2の構文(print文)で書かれています。Python 3環境で動作させる場合は、print("...")のようにprintを関数形式で記述してください。

  1. Pythonで辞書(dict)を印刷・出力する方法を徹底解説

    Pythonの辞書(dict)は、データを「キー」と「値」のペアで格納するデータ構造です。つまり、辞書内の各値には必ずキーが関連付けられており、そのキーが値を参照するための目印となります。 辞書の内容をコンソールで確認したい場合、いくつかのアプローチがあります。辞書をそのまま直接出力することもできますし、キーと値のペアを1つずつ個別に出力することも可能です。 このガイドでは、Pythonで辞書を印刷する方法を解説します。実際のコード例を通じて、自分のコードで辞書を出力する方法をわかりやすく紹介していきます。 forループを使って辞書を印刷する方法 まず、パン職人が読めるように辞書の内容を出力す

  2. Pythonでパターンを出力する方法|三角形・数字・アルファベット・ピラミッドのコード例

    Pythonでパターンを出力するには、ネストされた(入れ子構造の)forループを使用します。外側のループで行数を制御し、内側のループで列数を処理します。そしてprint文を工夫することで、目的に応じたさまざまなパターンを作成できます。パターンには、星(アスタリスク)パターン、数字パターン、アルファベットパターンなどがあり、三角形やピラミッドなど、さまざまな形状にも対応できます。パターン出力の基本これらのパターンは、print文を少し変更しながらforループを組み合わせることで出力できます。基本的な考え方はどのパターンも共通しており、違いはごくわずかです。ここからは、代表的なパターンのコードを実