Уведомления

Группа в Telegram: @pythonsu

#1 Март 25, 2009 13:40:48

Kliment
От:
Зарегистрирован: 2009-03-25
Сообщения: 10
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите с сервером на питоне

Вобщем трабла такая, есть hp ipaq 514 с wm6 на борту.
Искал я сервак для мобильных устройств, но ни один не пашет.
тогда пришла мне в голову мысль одна, поставлю я питон и на питоне запущу сервер, он нужен для домаешней странички.
сервер нашел http://fragments.turtlemeat.com/pythonwebserver.php но есть ряд проблем
1 если пишу http://localhost то пишет ненашел страницу, то-есть загружает страницу только прямым путём http://localhost/index.html
2 картинки не грузит на странице и css неработают.
А вот теперь прошу, помогите люди добрые!!!!



Офлайн

#2 Март 25, 2009 18:59:12

gabin
От:
Зарегистрирован: 2009-03-07
Сообщения: 72
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите с сервером на питоне

Это может и не от сервера зависеть, а от браузера. Скрипт впринципе свою работу и выполняет - на порту 80 стартует сервер. А при чём тут картинки и css :-\ . Попробуй проверить на обычных страницах в браузере css работает ?



Офлайн

#3 Март 25, 2009 19:25:22

Kliment
От:
Зарегистрирован: 2009-03-25
Сообщения: 10
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите с сервером на питоне

дело в сервере я же подключаюсь к нему по wi-fi через комп, грузится только текст из html но картинки к примеру не отображаются ообще



Офлайн

#4 Март 25, 2009 20:05:20

Ferroman
От:
Зарегистрирован: 2006-11-16
Сообщения: 2759
Репутация: +  1  -
Профиль   Отправить e-mail  

Помогите с сервером на питоне

Статику сервер не отдает, или отдает не правильно. Смотрите в конфиги сервера.

Офлайн

#5 Март 25, 2009 22:12:09

Kliment
От:
Зарегистрирован: 2009-03-25
Сообщения: 10
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите с сервером на питоне

#Copyright Jon Berg , turtlemeat.com

import string,cgi,time
from os import curdir, sep
from BaseHTTPServer import BaseHTTPRequestHandler, HTTPServer
#import pri

class MyHandler(BaseHTTPRequestHandler):

def do_GET(self):
try:
if self.path.endswith(“.html”):
f = open(curdir + sep + self.path) #self.path has /test.html
#note that this potentially makes every file on your computer readable by the internet

self.send_response(200)
self.send_header('Content-type', ‘text/html’)
self.end_headers()
self.wfile.write(f.read())
f.close()
return
if self.path.endswith(“.esp”): #our dynamic content
self.send_response(200)
self.send_header('Content-type', ‘text/html’)
self.end_headers()
self.wfile.write(“hey, today is the” + str(time.localtime()))
self.wfile.write(“ day in the year ” + str(time.localtime()))
return

return

except IOError:
self.send_error(404,'File Not Found: %s' % self.path)


def do_POST(self):
global rootnode
try:
ctype, pdict = cgi.parse_header(self.headers.getheader('content-type'))
if ctype == ‘multipart/form-data’:
query=cgi.parse_multipart(self.rfile, pdict)
self.send_response(301)

self.end_headers()
upfilecontent = query.get('upfile')
print “filecontent”, upfilecontent
self.wfile.write(“<HTML>POST OK.<BR><BR>”);
self.wfile.write(upfilecontent);

except :
pass

def main():
try:
server = HTTPServer(('', 80), MyHandler)
print ‘started httpserver…’
server.serve_forever()
except KeyboardInterrupt:
print ‘^C received, shutting down server’
server.socket.close()

if __name__ == ‘__main__’:
main()



Офлайн

#6 Март 25, 2009 22:14:28

Kliment
От:
Зарегистрирован: 2009-03-25
Сообщения: 10
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите с сервером на питоне

извините не совсем шарю, пока в питоне



Офлайн

#7 Май 21, 2009 21:09:53

Badger
От:
Зарегистрирован: 2009-02-20
Сообщения: 11
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите с сервером на питоне

Относительно твоего вопроса о картинках - перед блоком, который начинается с if self.path.endswith('html') добавь:
elif self.path.endswith('gif'):
f = open(curdir + sep + self.path,'b')
self.send_response(200)
send.header('Content-type','image/gif')
self.endheadrs()
self.wfile.write(f.read())
f.close()
return
И так повторить с jpg и с прочими bmp - с методом GET должно работать. А метод POST - он достаточно редко встречается, чтоб о нем волноваться. Хотя тоже можно что-то придумать.



Отредактировано (Май 21, 2009 21:27:22)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version