human
APIポイントを開いて文字列を提供するPythonスクリプトの例を教えてください。
gpt
PythonでFlaskサーバーを作成し、ユーザーに文字列を送り返すエンドポイントを作成する簡単な例です：

```
from flask import Flask, request

app = Flask(__name__)

@app.route('/', methods=['POST'])
def echo():
    request_body = request.get_json(force=True)
    return request_body['input']

app.run(port=3000)
```

このアプリケーションはcurlでテストできます：
```
curl -X POST -H 'Content-Type: application/json' -d '{"input": "Hello server"}' http://127.0.0.1:3000/
```
human
リクエスト本体を返す代わりに、CAESAR暗号でリクエスト本体を暗号化して暗号テキストを返すようにしてください。
gpt
リクエスト・ボディをシーザー暗号で暗号化し、暗号文を返すFlaskサーバーのアップデート・バージョンです：

```
from flask import Flask, request

app = Flask(name)

@app.route('/', methods=['POST'])
def encrypt():
request_body = request.get_json(force=True)
input_text = request_body['input']
shift = request_body.get('shift', 0) # optional shift parameter
encrypted_text = caesar_cipher(input_text, shift)
return {'ciphertext': encrypted_text}

def caesar_cipher(text, shift):
encrypted = ''
for char in text:
if char.isalpha():
char_code = ord(char)
encrypted_code = (char_code - 97 + shift) % 26 + 97
encrypted += chr(encrypted_code)
else:
encrypted += char
return encrypted

app.run(port=3000)
```

このバージョンのスクリプトは、リクエストボディにオプションのパラメータ shift を追加して、平文の各文字をシフトする位置の数を指定します。caesar_cipher 関数は、指定されたシフト値を使って暗号化そのものを行う。

API をテストするには、curl やその他の HTTP クライアントを使用して、http://127.0.0.1:3000/ に POST リクエストを送信します。http://127.0.0.1:3000/ には、平文とオプションの shift 値を含む JSON リクエストボディを指定します。サーバーは暗号文を含むJSONオブジェクトで応答する：

```
curl -X POST -H 'Content-Type: application/json' -d '{"input": "hello", "shift": 3}' http://127.0.0.1:3000/
```

出力：
出力： {"ciphertext"："khoor"}。