"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Um servidor HTTP de teste simples do Flask

Um servidor HTTP de teste simples do Flask

Publicado em 2024-08-25
Navegar:292

A Simple Test HTTP server from Flask

Ontem à noite, precisei atualizar algum código do aplicativo para mudar de uma chamada http síncrona para uma assíncrona. Este não é um problema particularmente difícil, mas pode ser difícil de corrigir.

O que eu precisava, portanto, era uma maneira de testar essas chamadas http, e a máquina que eu estava usando ainda não tinha nenhum servidor http em execução para usar como destino.

Não tem problema: ele tem Python - e isso é tudo que você precisa.

Não instale - apenas crie

Esse padrão vem se formando para mim. Para tarefas simples, muitas vezes é mais fácil escrever um pequeno script utilitário em vez de instalar algum software completo para fazer um trabalho.

Se você precisa de um servidor real, vá em frente (mas mesmo assim eu sugeriria o Docker, se possível). Mas se você só precisa de um endpoint rápido para testar ou resolver um único caso de uso, então Python é provavelmente seu amigo.

Estou dizendo Python especificamente porque é bastante onipresente, com uma rica biblioteca e ecossistema padrão.

Código do servidor

A ideia com este servidor simples era me ajudar a testar as chamadas assíncronas do cliente, então eu queria que ele esperasse 5 segundos e depois respondesse. Eu só queria que ele respondesse a qualquer chamada padrão com 200 após 5 segundos.

from flask import Flask, request
import time

app = Flask(__name__)

@app.route('/', defaults={'path': ''}, methods=['GET', 'POST', 'PUT', 'DELETE', 'PATCH'])
@app.route('/', 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)

Declaração de lançamento Este artigo foi reproduzido em: https://dev.to/byronsalty/a-simple-test-http-server-from-flask-3lf9?1 Se houver alguma violação, entre em contato com [email protected] para excluí-la
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3