Форум сайта python.su
Всем привет!
Начал изучение пайтона и дошел до создания веб страниц. Есть пайтоновский скрипт, запускающий веб-сервер, хтмл страница, передающая переменную на другой пайтоновский скрипт “привет %username%”
Скрипты были написаны на виндовой машине с использование нп++ и пайтона 3.4.1 и на ней отработали без проблем.
Перенес скрипты на сервер с центос 6.5 (пайтон по-умолчанию 2.6.6) - там этот скрипт работать отказался (в пайтон 3 немного изменены модули http.server)
Поставил через сырцы пайтон 3, но нарываюсь на вот такую ошибку:
192.168.1.19 - - [10/Jul/2014 19:15:58] "GET /cgi-bin/cgi101.py HTTP/1.1" 200 - Traceback (most recent call last): File "/usr/local/lib/python3.4/http/server.py", line 1143, in run_cgi os.execve(scriptfile, args, env) OSError: [Errno 8] Exec format error: '/home/snake/python_scripts/web2/cgi-bin/cgi101.py' 192.168.1.19 - - [10/Jul/2014 19:15:58] CGI script exit status 0x7f00
import os, sys from http.server import HTTPServer, CGIHTTPRequestHandler webdir = '.' port = 8080 os.chdir(webdir) srvaddr = ("", port) srvrobj = HTTPServer(srvaddr, CGIHTTPRequestHandler) srvrobj.serve_forever()
<html> <title> Interactive Page </title> <body> <form method=POST action="cgi-bin/cgi101.py"> <P><B>Enter your name:</B> <P><input type=text name=user> <P><input type=submit> </form> </body></html>
import cgi form = cgi.FieldStorage() print('Content-type: text/html\n') print('<title>Reply Page</title>') if not 'user' in form: print('<h1>Who are you?</h1>') else: print('<h1>Hello <i>%s</i>!</h1>' % cgi.escape(form['user'].value))
Офлайн
thomasУбедись, что концы строк там не \r\n, а просто \n.
Перенес скрипты на сервер с центос 6.5
Офлайн
2py.user.next
Убедился, просто \n . Где еще копать?
Офлайн
Офлайн
2py.user.net
спасибо, идеально работает!
Осталось только понять, что у него в начинке
Офлайн
Добавил форму и страницу.
tags: cgi
Отредактировано py.user.next (Май 26, 2019 02:55:33)
Прикреплённый файлы:
servcgifrm.tar (10,0 KБ)
Офлайн
Странно, это пример из книги Лутза не работает и у меня
127.0.0.1 - - [13/Aug/2015 12:29:30] "POST /cgi-bin/cgi101.py HTTP/1.1" 200 - Traceback (most recent call last): File "/usr/lib/python3.4/http/server.py", line 1143, in run_cgi os.execve(scriptfile, args, env) PermissionError: [Errno 13] Permission denied: '/home/den/PP4E/Preview/cgi-bin/cgi101.py' 127.0.0.1 - - [13/Aug/2015 12:29:30] CGI script exit status 0x7f00
Офлайн
anlima, прав к файлу cgi101.py не хватает, chmod в помощь
Офлайн
Chocobo
anlima, прав к файлу cgi101.py не хватает, chmod в помощь
den@anlima:~/PP4E/Preview/cgi-bin$ ls -l итого 8 -rwxrwxrwx 1 den den 359 Авг 13 02:41 cgi101.py -rw-rw-rw- 1 den den 3015 Янв 30 2010 peoplecgi.py
Офлайн