Отправка перенаправления 301/302 из Python CGI-скрипта - PullRequest
0 голосов
/ 15 февраля 2020

Я продолжаю находить ответы на вопросы о том, как прочитать перенаправление из ответа клиента HTTP из Python, но не могу понять, как отправить перенаправление 301 или 302 обратно клиенту. Кажется, это должно работать, но я всегда получаю 200 ответ перед телом:

print("Content-Type: text/html; charset=UTF-8\n")
print("HTTP/1.1 301 Moved Permanently")
print("Location:", "https://www.google.com/")

Эквивалентный код PHP будет просто:

// Redirect the browser to Google
header("Location: https://www.google.com/", true, 301);

1 Ответ

0 голосов
/ 15 февраля 2020

В простейшей форме, без внешних библиотек, вы можете просто вывести прямой HTTP:

print('''Status: 301 Redirect
Location: {url}
Content-Type: text/html

Moved permanently to <a href="{url}">{url}</a>
'''.format(url='https://www.google.com/'))

Если вы используете библиотеку или фреймворк, вероятно, есть лучшие подходы.

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