#!/usr/bin/env python3 import os import sys import urllib.parse import cgitb cgitb.enable() # エラーメッセージをブラウザに表示 def get_post_data(): content_length = int(os.environ.get('CONTENT_LENGTH', 0)) post_data = sys.stdin.read(content_length) return urllib.parse.parse_qs(post_data) def get_args(): # リクエストメソッドの判断 request_method = os.environ.get('REQUEST_METHOD', None) if request_method is None: return sys.argv[1:] elif request_method == 'POST': # POSTリクエストの場合の処理 params = get_post_data() return params.get('message', ['']) else: # GETリクエストの場合の処理 query_string = os.environ.get('QUERY_STRING', '') params = urllib.parse.parse_qs(query_string) return params.get('message', ['']) def show(args): message = args[0] if args else 'No message provided.' # HTML出力 print(f""" Message Display

Message:

{message}

""") def main(): print("Content-Type: text/html\n") # ヘッダーの出力 try: args = get_args() except Exception as e: print(f"Error: {e}") return try: show(args) except Exception as e: print(f"Error: {e}") if __name__ == "__main__": main()