Articles of simplehttpserver

Procesamiento de solicitudes simultáneas / asíncronas con Python BaseHTTPServer

He configurado un servidor HTTP de hilos (con hilos de Python) al crear una clase que hereda de HTTPServer y ThreadingMixIn: class ThreadedHTTPServer(ThreadingMixIn, HTTPServer): pass Tengo una clase de manejador que hereda de BaseHTTPRequestHandler, y comienzo el servidor con algo como esto: class MyHandler(BaseHTTPRequestHandler): … server = ThreadedHTTPServer((‘localhost’, 8080), MyHandler) # Prevent issues with socket […]

Cómo obtener la IP del cliente desde SimpleHTTPServer

Construyendo un servidor de archivos simple usando el módulo SimpleHTTPServer en Python, sin embargo, estoy teniendo problemas al intentar obtener la IP de un cliente conectado. Esto es lo que tengo .. import SimpleHTTPServer Handler = SimpleHTTPServer.SimpleHTTPRequestHandler httpd = SocketServer.TCPServer((“”, 8080), Handler) print “Serving local directory” while True: httpd.handle_request() print Handler.client_address[0] Cuando un cliente se […]

¿Cómo ejecutar un servidor http que sirva una ruta específica?

este es mi proyecto de Python3 hiearchy: projet \ script.py web \ index.html Desde script.py , me gustaría ejecutar un servidor http que sirva el contenido de la carpeta web . Aquí se sugiere este código para ejecutar un servidor http simple: import http.server import socketserver PORT = 8000 Handler = http.server.SimpleHTTPRequestHandler httpd = socketserver.TCPServer((“”, […]

Servidor web incorporado en Python?

¿Puede recomendar un servidor web de Python minimalista que pueda incrustar en mi aplicación de escritorio?

El servidor SSL de Python me da “501 método no compatible GET”

He seguido este enlace para construir un servidor de archivos simple con SSL. from http.server import HTTPServer, BaseHTTPRequestHandler import ssl httpd = HTTPServer((‘localhost’, 4443), BaseHTTPRequestHandler) # openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -days 365 httpd.socket = ssl.wrap_socket (httpd.socket, keyfile=”key.pem”, certfile=’cert.pem’, server_side=True) httpd.serve_forever() He creado un certificado con éxito, las key.pem cert.pem archivos […]

Usando SimpleHTTPServer para pruebas unitarias

Estoy escribiendo un módulo de Python que envuelve una determinada API de servicios web. Todo es REST, por lo que es relativamente sencillo de implementar. Sin embargo, encontré un problema cuando se trata de pruebas unitarias: como no ejecuto los servicios para los que hice este módulo, no quiero atacarlos, pero al mismo tiempo, necesito […]

¿Cómo puedo crear un servidor web local para mis scripts de python?

Estoy buscando usar un servidor web local para ejecutar una serie de scripts de Python para el usuario. Por varias razones inevitables, el script de Python debe ejecutarse localmente, no en un servidor. Como resultado, usaré el navegador HTML + como la interfaz de usuario, con la que me siento cómodo, para la parte delantera. […]

¿Por qué una tarea en segundo plano bloquea la respuesta en SimpleHTTPServer?

Estoy escribiendo un sencillo front-end basado en navegador que debería poder iniciar una tarea en segundo plano y luego progresar. Quiero que el navegador reciba una respuesta que indique si la tarea se inició con éxito y luego la encuesta para determinar cuándo se realiza. Sin embargo, la presencia de una tarea en segundo plano […]

BasicHTTPServer, SimpleHTTPServer y concurrencia

Estoy escribiendo un pequeño servidor web para propósitos de prueba usando Python, BasicHTTPServer y SimpleHTTPServer. Parece que está procesando una solicitud a la vez. ¿Hay alguna manera de hacerlo un poco más rápido sin perder demasiado tiempo? Básicamente, mi código tiene el siguiente aspecto y me gustaría que sea así de simple;) os.chdir(webroot) httpd = […]

Guardar registros – SimpleHTTPServer

¿Cómo puedo guardar la salida de la consola como “192.168.1.1 – – [18 / Ago / 2014 12:05:59] código 404, mensaje Archivo no encontrado” a un archivo? Aquí está el código: import SimpleHTTPServer import SocketServer PORT = 1548 Handler = SimpleHTTPServer.SimpleHTTPRequestHandler httpd = SocketServer.TCPServer((“”, PORT), Handler) print “serving at port”, PORT httpd.serve_forever()