Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 28, 2008 13:50:54

hellslade
От:
Зарегистрирован: 2008-01-28
Сообщения: 240
Репутация: +  0  -
Профиль   Отправить e-mail  

SimpleHTTPServer

Всем привет.
у меня есть сервер. вот код

import CGIHTTPServer
import BaseHTTPServer
class Handler(CGIHTTPServer.CGIHTTPRequestHandler):
    cgi_directories = ["/cgi"]
port = 8000
host = "192.168.0.1"
httpd = BaseHTTPServer.HTTPServer((host, port), Handler)
print "server starting on %s:%s" % (host, port)
httpd.serve_forever()
я не понимаю как с ним работать, т.е. сервер работает и cgi тоже, но мне нужно чтобы сервер во время работы записывал в файл ip и адрес страницы которую запрашивали. кто знает подскажите, пожалуйста, может какую-нибудь документацию



Офлайн

#2 Фев. 28, 2008 15:06:44

slav0nic
Команда
От: dp.ua
Зарегистрирован: 2006-05-07
Сообщения: 2260
Репутация: +  41  -
Профиль   Отправить e-mail  

SimpleHTTPServer


import CGIHTTPServer
import BaseHTTPServer

class Handler(CGIHTTPServer.CGIHTTPRequestHandler):
cgi_directories =
def do_GET(req):
req.send_response(200)
req.send_header(“Content-type”, “text/html”)
req.end_headers()
req.wfile.write(dir(req))
req.wfile.write(“<br/>u ip is: <b>%s</b> ”%req.client_address)

port = 8000
host = “127.0.0.1”

httpd = BaseHTTPServer.HTTPServer((host, port), Handler)
print “server starting on %s:%s” % (host, port)
httpd.serve_forever()


где-то примерно так
в официальной документацие всё есть
НО советую взглянуть на http://webpy.org , для таких целей он удобней, на нём будет так выглядить (выводит версию браузера и тп и тд, лень убирать лишнее=) ):

#!/usr/bin/python
&#65279;#coding=utf-8
import web

web.internalerror = web.debugerror

urls = (
‘/’, ‘index’)

class index:
def GET(self):
web.header(“Content-Type”,“text/html; charset=utf-8”)
print “”“<html>
<body style=”color: green; background-color: black;“>
<center><br><br><br>[<font color=”red“>~</font><font
color=”yellow“>o</font><font color=”red“ >~</font>]<br>I N F O<br></center>
<font color=”white“>”“”

for var in web.ctx:
if var in (“ip”, “env”, “method”):
info = web.ctx
if var == “env”:
info = “<br><dd>”.join([str(x) for x in web.ctx.items()])
print “%s = %s<br><p>”%(var, info)

if __name__ == “__main__”: web.run(urls, globals(), web.reloader)

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version