>백엔드 개발 >파이썬 튜토리얼 >Flask의 간단한 테스트 HTTP 서버

Flask의 간단한 테스트 HTTP 서버

WBOY
WBOY원래의
2024-08-16 18:01:32422검색

A Simple Test HTTP server from Flask

어젯밤 동기 http 호출에서 비동기 호출로 전환하려면 일부 앱 코드를 업데이트해야 한다는 사실을 깨달았습니다. 이것은 특별히 어려운 문제는 아니지만 해결하기가 까다로울 수 있습니다.

따라서 나에게 필요한 것은 이러한 http 호출을 테스트하는 방법이었고, 내가 사용하고 있던 컴퓨터에는 아직 대상으로 사용하기 위해 실행 중인 http 서버가 없었습니다.

문제 없습니다. Python이 있고 그게 전부입니다.

설치하지 말고 그냥 만드세요

이러한 패턴이 형성되었습니다. 간단한 작업의 경우 작업을 수행하기 위해 완전한 소프트웨어를 설치하는 대신 약간의 유틸리티 스크립트를 작성하는 것이 더 쉬운 경우가 많습니다.

실제 서버가 필요하다면 꼭 사용하세요(하지만 가능하다면 Docker를 권장합니다). 그러나 단일 사용 사례를 테스트하거나 해결하기 위해 빠른 엔드포인트가 필요한 경우 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
이전 기사:SageMath 설치다음 기사:SageMath 설치