実現したいこと
格言を表示するWebアプリをwebブラウザ上に表示させたいです。
ご教授お願いします。
試したことの手順
- 「Web」フォルダ直下に「cgi-bin」というフォルダをつくり、
この「cgi-bin」フォルダに、「kakugen.py」(上記コード)を作成
0. ターミナルで以下を実行。Webサーバを起動
$ python3 -m http.server --cgi 8080
0. プログラムの実行権限を与えるため、新規のターミナルウインドウを表示させ、
chmod +x Web/cgi-bin/kakugen.py
と入力して[enter]キーをおします
0. Google Chromeのアドレス欄に「http://localhost:8080/Web/cgi-bin/kakugen.py」と入力して[enter]キーを押下
0. 下記エラーの発生
python
1コード 2#!/usr/bin/env python3 3 4# ヘッダ情報を出力 5print(#"Content-Type: text/html; charset=utf-8") 6 7# ヘッダと本体データを区切る空行 8print("") 9 10# 本体のデータを出力 11print("<html><head><meta charset='utf-8></head><body>") 12print("聞くことに速く語ることに遅くあるべき") 13print("</body></html>")
発生したエラー:webブラウザ上に表示されたコードが文字化け
**#!/usr/bin/env python3
繝倥ャ繝諠��ア繧貞�蜉�
print("Content-Type: text/html; charset=utf-8")
繝倥ャ繝縺ィ譛ャ菴薙ョ繝シ繧ソ繧貞玄蛻�k遨コ陦�
print("")
譛ャ菴薙�繝��繧ソ繧貞�蜉�
print("<html><head><meta charset='utf-8'></head><body>")
print("閨槭¥縺薙→縺ォ騾溘¥隱槭k縺薙→縺ォ驕�¥縺ゅk縺ケ縺�")
print("</body></html>")
上記以外で試したこと・確認したこと=結果:変化なし
・文字コードはUTF-8になっているかの確認
→環境変数はターミナルで「nano ~/.bashrc」を実行して以下の1行をつけ加えた
export PYTHONIOENCODING='utf-8'
・実行権限については「$ chmod +x〜」の他に「$ chmod a+x〜」を試した。
・ポート番号は8080以外にも8081、8082、8083を試した
同サイトの同時例の解決方法で試した結果:コード内容とwebブラウザ上の表示 参考サイト
python
1コード 2#!/usr/bin/env python3 3 4# ヘッダ情報を出力 5print("Content-Type: text/html\n") 6 7# ヘッダと本体データを区切る空行 8print("") 9 10# 本体のデータを出力 11print('<!DOCTYPE html><html lang="ja"><head><title></title></head><body>') 12print("聞くことに速く語ることに遅くあるべき") 13print("</body></html>")
webブラウザ上の表示
Error response
Error code: 404
Message: File not found.
Error code explanation: HTTPStatus.NOT_FOUND - Nothing matches the given URI.
補足情報
pythonバージョン:python3.9.1
PC:Mac(macOS Big sur 11.1)
参考書籍:「実践力を身につけるPythonの教科書p216、217」
使用してるコードエディタ:vsコード
回答1件
あなたの回答
tips
プレビュー