質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

2回答

2173閲覧

Webサーバ上でPythonプログラムを実行するの問題です

Serashi

総合スコア0

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2021/09/30 05:29

前提・実現したいこと

vscodeで簡単なpythonプログラムを書きました。 そして、python -m http.server --cgi 8000 も無事にやりました。

発生している問題・エラーメッセージ

http://localhost:8000/cgi-bin/test.pyのウェブサイトをアクセスした時エラーが出てました。

Error

1Error code: 404 2 3Message: No such CGI script ('/cgi-bin/test.py'). 4 5Error code explanation: HTTPStatus.NOT_FOUND - Nothing matches the given URI.

該当のソースコード

python

1[test.py] ファイルの名前 2#! /usr/bin/ env python3 3 4print("Content-type: text/html") 5print("") 6print("<html>") 7print(" <head><meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\"/></head>") 8print(" <body>") 9print(" <h1>システムアーキテクトプログラミング演習</h1>") 10print(" これはテストページです。") 11print(" </body>") 12print("</html>")

試したこと

エラーメッセージ見ると、多分test.pyのpythonプログラムが見つからないそうです。

補足情報(FW/ツールのバージョンなど)

vscodeでのエラーメッセージ

PS C:\WEBDIR\cgi-bin> python -m http.server --cgi 8000
Serving HTTP on :: port 8000 (http://[::]:8000/) ...
::1 - - [30/Sep/2021 14:17:37] code 404, message No such CGI script ('/cgi-bin/test.py')
::1 - - [30/Sep/2021 14:17:37] "GET /cgi-bin/test.py HTTP/1.1" 404 -

Keyboard interrupt received, exiting.

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

y_waiwai

2021/09/30 05:33

で、しつもんはなんでしょうか
guest

回答2

0

PS C:\WEBDIR\cgi-bin> python -m http.server --cgi 8000

だとC:\WEBDIR\cgi-binがパスの基準となってしまい、さらにその下にcgi-binフォルダがある前提で動作してしまいます。
サーバの起動はC:\WEBDIRで行うと解消すると思います。

投稿2021/09/30 06:15

can110

総合スコア38278

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

まず、python -m http.server --cgi 8000を実行したフォルダの中にcgi-binというフォルダがあり、その中に実行したいtest.pyがあるか確認してください。そこに無いのだと思います。

場所の問題だけではない(シェバンの記述、そこに書かれているインタープリタのパス、スクリプトの文字エンコード等も次の問題として出てきそう)と思いますが、とりあえず。

投稿2021/09/30 06:00

編集2021/09/30 06:01
itagagaki

総合スコア8402

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問