Pergunta

Como pode o meu python cgi retornar um código de status específico http, como 403 ou 418?

Eu tentei o óbvio (print "Status: 403 Proibido"). Mas ele não funciona

Foi útil?

Solução

print 'Status: 403 Forbidden'
print

Funciona para mim. Você precisa fazer a segunda impressão, porém, como você precisa de um double-nova linha para acabar com os cabeçalhos de resposta HTTP. Caso contrário, o servidor web pode queixar-se você não está enviando-lhe um conjunto completo de cabeçalhos.

sys.stdout('Status: 403 Forbidden\r\n\r\n')

pode ser tecnicamente mais correto, de acordo com RFC (assumindo que o seu script CGI não está em execução no modo de texto no Windows). No entanto ambos os finais de linha parecem funcionar em todos os lugares.

Outras dicas

Eu acho que, você está procurando send_error . Seria localizado na http.server em Py3k.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top