2011-12-21 2 views
0

Я новичок в веб-дизайне. Я хочу создать веб-страницу, которая запускает сценарий python в фоновом режиме. Сценарий, основанный на IP-адресе клиента, запрашивающего страницу, будет генерировать некоторые URL-адреса, которые должны быть встроены в веб-страницу. Каков наилучший способ сделать это? Также, как я могу найти IP-адрес клиента?Как создать пользовательскую веб-страницу?

ответ

3

Вот основной HttpServer:

from BaseHTTPServer import BaseHTTPRequestHandler, HTTPServer 

class MyHandler(BaseHTTPRequestHandler): 
    def do_GET(self): 
     self.send_response(200) 
     self.send_header('Content-type', 'text/html') 
     self.end_headers() 
     self.wfile.write('Hello %s!' % self.client_address[0]) 
     return 


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


if __name__ == '__main__': 
    main() 

Вы можете получить доступ к этому серверу, просто набрав http://localhost/ в вашем браузере. Он будет печатать IP-адрес клиента. Также посмотрите на список веб-фреймворков, доступных для python здесь: http://wiki.python.org/moin/WebFrameworks

+0

raw excepts are badddd –

+1

спасибо @JakobBowyer только что обновил код – Irfan

3

Вы хотите ознакомиться с интерфейсом шлюза WebServer PEP 333. Это то, что обычно используется для скриптов Python для взаимодействия с веб-серверами. Это нужно для запуска pappon webapp.

Кроме того, вы можете использовать фреймворк, такой как Django или Flask. Для Python существует множество фреймворков WSGI, вам решать, какой из этих наборов вам нужен лучше всего.

Что касается IP-части вашего вопроса, это зависит от используемой структуры. Я предлагаю вам начать с чтения WSGI, а затем начать читать о инфраструктурах WSGI.

+0

Im только упоминание об этом, потому что вы сказали, что вы новичок в веб-дизайне, и это, по крайней мере, позволит вам начать играть без излишней кривой learjing: http://docs.python.org/library/cgi.html – jdi

+0

Возможно, лучше использовать Flask вместо Werkzeug direct. –

+0

@GrahamDumpleton, вы, вероятно, правы, добавив его в свой ответ. – Blubber

Смежные вопросы