ホームページ  >  記事  >  バックエンド開発  >  Flask の単純なテスト HTTP サーバー

Flask の単純なテスト HTTP サーバー

WBOY
WBOYオリジナル
2024-08-16 18:01:32305ブラウズ

A Simple Test HTTP server from Flask

昨夜、同期 http 呼び出しから非同期呼び出しに切り替えるには、アプリのコードを更新する必要があることに気づきました。これは特に難しい問題ではありませんが、正解するのが難しい場合があります。

したがって、私が必要としたのは、これらの http 呼び出しをテストする方法であり、私が使用していたマシンには、ターゲットとして使用する http サーバーがまだ実行されていませんでした。

問題ありません。Python が含まれています。必要なのはそれだけです。

インストールしないでください - 作成するだけです

このパターンが私に形成されてきました。単純なタスクの場合は、本格的なソフトウェアをインストールしてジョブを実行するよりも、ちょっとしたユーティリティ スクリプトを作成する方が簡単なことがよくあります。

実際のサーバーが必要な場合は、ぜひそれを使用してください (ただし、それでも可能であれば Docker をお勧めします)。ただし、テストするための、または 1 つのユースケースを解決するための簡単なエンドポイントが必要なだけの場合は、おそらく Python が最適です。

私が特に Python と言っているのは、Python は豊富な標準ライブラリとエコシステムを備えており、かなり普及しているからです。

サーバーコード

このシンプルなサーバーの目的は、非同期クライアント呼び出しのテストを支援することであり、サーバーが 5 秒待ってから応答するようにしました。標準的な呼び出しに対して 5 秒後に 200 で応答するようにしたいだけです。

from flask import Flask, request
import time

app = Flask(__name__)

@app.route('/', defaults={'path': ''}, methods=['GET', 'POST', 'PUT', 'DELETE', 'PATCH'])
@app.route('/<path:path>', methods=['GET', 'POST', 'PUT', 'DELETE', 'PATCH'])
def catch_all(path):
    print(f"Path: {path}")
    print(f"Headers: {dict(request.headers)}")
    print(f"Params: {request.args}")
    print(f"Data: {request.data}")

    # Wait for 5 seconds
    time.sleep(5)

    return "yessir"

if __name__ == '__main__':
    app.run(host='0.0.0.0', port=5000)

以上がFlask の単純なテスト HTTP サーバーの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。