Найти - Пользователи
Полная версия: Помогите с сервером на питоне
Начало » Mobile Python » Помогите с сервером на питоне
1
Kliment
Вобщем трабла такая, есть hp ipaq 514 с wm6 на борту.
Искал я сервак для мобильных устройств, но ни один не пашет.
тогда пришла мне в голову мысль одна, поставлю я питон и на питоне запущу сервер, он нужен для домаешней странички.
сервер нашел http://fragments.turtlemeat.com/pythonwebserver.php но есть ряд проблем
1 если пишу http://localhost то пишет ненашел страницу, то-есть загружает страницу только прямым путём http://localhost/index.html
2 картинки не грузит на странице и css неработают.
А вот теперь прошу, помогите люди добрые!!!!
gabin
Это может и не от сервера зависеть, а от браузера. Скрипт впринципе свою работу и выполняет - на порту 80 стартует сервер. А при чём тут картинки и css :-\ . Попробуй проверить на обычных страницах в браузере css работает ?
Kliment
дело в сервере я же подключаюсь к нему по wi-fi через комп, грузится только текст из html но картинки к примеру не отображаются ообще
Ferroman
Статику сервер не отдает, или отдает не правильно. Смотрите в конфиги сервера.
Kliment
#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()
Kliment
извините не совсем шарю, пока в питоне
Badger
Относительно твоего вопроса о картинках - перед блоком, который начинается с 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 - он достаточно редко встречается, чтоб о нем волноваться. Хотя тоже можно что-то придумать.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB