仕事だと楽したいので習熟した技術に頼りがち。
そんなわけで、何か適当な小物プログラムをあえて初だったり、あんまり触らないプログラム、インフラ、フレームワーク等々で作るというのをたまにやってます。
ということで、ロリポップの安いレンタルサーバーがPython対応してたので ほななんかwebページでも作ってみっかと始めました。
今回あえてフレームワーク無しで素のPythonで作成するつもり。
とりあえず、よくある「HelloWorld」出力
#!/usr/local/bin/python3.4
print("Content-Type: text/html; charset=UTF-8\r\n")
print("HelloWorld")
ブラウザでアクセスするもいきなりうごきません・・
公式ページによるとパーミッションは
cgi 700
ということでした。
横着の777は動作しません!
でパーミッション直して 再実行、無事動いた!
なのでブラウザで表示されたので 次に文言「こんにちわ」に変えてみる。
動かない・・・
なぜ!
当然文字コードの問題だろうと ファイル保存しなおしたり 明示的にコードセットしたり・・ しかし治らん・・
しばしグーグルの旅。
しかし、でてくるのは 「Pythonやってみた!」 ほらこんな感じで、簡単に「HelloWorld」ってでるよ! 的なページの群れ。
ちょっとイラつきながら探してるとありました!
Amiticaというブログで 「ロリポップサーバーにてCGIをPython3で運用したかった」すばらしい。 内容もドンピシャ。 こういうブログ大好き。 ということで下記ソースを挿入
# coding:utf-8
import cgitb
import sys ,io
sys.stdin = open(sys.stdin.fileno(), 'r', encoding='UTF-8')
sys.stdout = open(sys.stdout.fileno(), 'w', encoding='UTF-8')
sys.stderr = open(sys.stderr.fileno(), 'w', encoding='UTF-8')
cgitb.enable()
print("Content-Type: text/html; charset=UTF-8\r\n")
print("こんにちわ!")
ちょっと力業的な感じもありますが、今回は動けばそれでいいので
とりあえず。
ブラウザで表示すると・・
表示されました!
「Amitica」ブログの筆者さん、ありがとう!!
ということで、「HelloWorld」でブログ書く人達。
できるだけ「こんにちわ世界」で実装してから発表してください!
ちなみに、starサーバーとか同価格帯のPythonでも試してみたけど、同じでしたね。
やっぱ、プログラムするのに、ログも見れない低価格サーバーはきついかなー。
こういうの経験する度、枯れた技術っていーよなって感じてしまうのは、年寄なんかな?
なんやかんやで正直PHPが一番楽よね。と思ってしまう。
0 件のコメント :
コメントを投稿