Форум сайта python.su
Пишу cgi скрипт на питоне, нужно сделать так чтобы после исполнения скрипта открылась указанная web-страничка. Как мне лучше поступить?
Офлайн
Думаю лучше всего поступить так:
#!/usr/bin/python
…
do_smth_bad :)
…
print "Location: http://redirect.here.tu/index.html"
Офлайн
2sliblen спасибо. Данная конструкция не работает в случае если я пишу так:
#!/usr/bin/env python
print “Content-type: text/html\n”
#выполняю какие-то действия
print "Location: http://abracadabra.ru"
Может есть выход из данной ситуации?
Офлайн
перед этой конструкцией не должно идти вывода в браузер.
Офлайн
pyOut“Content-type: text/html\n” - это строка заголовка HTTP, которая сообщаят браузеру что дальше идет контент вэб-страницы, поэтому "Location: http://abracadabra.ru“ им воспринимается как часть страницы, в этом и кроется ошибка, т.к. ”Location: http://abracadabra.ru" - это часть HTTP заголовка и должна идти соответсвенно перед контентом.
2slivlen спасибо. Данная конструкция не работает в случае если я пишу так:
#!/usr/bin/env python
print “Content-type: text/html\n”
#выполняю какие-то действия
print "Location: http://abracadabra.ru"
Может есть выход из данной ситуации?
Офлайн
Мне нужно что бы сначало выполнилось все что находится после print “Content-type: text/html\n” и затем выполнилось Location: http://abracadabra.ru
Офлайн
Я так понимаю что скрипт должен выполниться и вывести пользователю какую-то инфу(иначе зачем вообще выводить “Content-type”?) и после этого уже направить его на другую страницу?
Офлайн
ну типа да.
Офлайн
Тогда надо просто в html заголовок добавить:
<head>
…
<meta http-equiv=“refresh” content=“1;URL=page_to_redirect.html” />
…
</head>
1 - это время(сек) через которое произойдет переход на страницу page_to_redirect.html
Офлайн