webサイトを作る
- 2020.03.22
- CGI
動的なレスポンスを返すwebサイトはPHPやPerlなどで作る事が多いですが、Pythonでも作る事ができます。
今回はXServerで動作するwebサイトに挑戦します。
サーバーの準備
まずはサーバーの設定を行います。
XServerの場合、対象のドメインの.htaccessファイルに次の行を追加しましょう。
AddHandler cgi-script .py
これで、.pyファイルがサーバー上で実行されるようになります。サーバーの準備はこれだけです。
PythonのCGIを作る
とりあえず、文字列を表示するだけのCGIを作ってみましょう。
ソースコードはこんな風になります。
#!/usr/bin/env python3.6 # -- coding: utf-8 -- import sys import io sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8') print("Content-type: text/html; charset=UTF-8\n") print("<html><body>やあ、これがHTMLの出力だよ。</body></html>")
1行目と2行目は、サーバーにこれがUTF-8で書かれたPythonのコードであることを伝えています。
また、import~sys.stdoutまでの行は、Pythonの標準出力をUTF-8にするためのおまじないのようなものです。
そして最後の2行は、HTMLのレスポンスをそのままprintしています。
そのまま実行すると、このように出力されます。
Content-type: text/html; charset=UTF-8
<html><body>やあ、これがHTMLの出力だよ。</body></html>
このプログラムを、UTF-8、改行コードをCRLFにして保存しましょう。
サーバーにアップロードする
あとは作成したソースをFTPでアップロードします。この時、ファイルのパーミッションを705または755に設定するようにしましょう。
URLを開いてテスト
最後に、アップロードしたURLを開きましょう。
-
前の記事
サンプルプログラム用のオリジナルライブラリ 2020.03.22
-
次の記事
google-drive-ocamlfuse 複数のGoogleDriveアカウントをubuntuで使う 2020.05.25