Python CGI возвращает код состояния http, например 403? - PullRequest
15 голосов
/ 11 сентября 2009

Как мой Python CGI может вернуть определенный код состояния http, например, 403 или 418?

Я попробовал очевидное (выведите «Status: 403 Forbidden»), но это не работает.

Ответы [ 2 ]

18 голосов
/ 11 сентября 2009
print 'Status: 403 Forbidden'
print

У меня работает. Тем не менее, вам нужен второй вывод, так как вам нужен двойной перевод строки для завершения заголовков ответа HTTP. В противном случае ваш веб-сервер может жаловаться, что вы не отправляете ему полный набор заголовков.

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

может быть технически более правильным, согласно RFC (при условии, что ваш скрипт CGI не работает в текстовом режиме в Windows). Однако оба конца строки, кажется, работают везде.

1 голос
/ 11 сентября 2009

Я думаю, вы ищете send_error. Он будет расположен в http.server в py3k.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...