Domanda

Puoi consigliare un webserver minimalista in Python che posso incorporare nella mia applicazione desktop.

È stato utile?

Soluzione

Quanto minimalista e per quale scopo?

SimpleHTTPServer è gratuito come parte delle librerie Python standard.

Se hai bisogno di più funzionalità, consulta CherryPy o (nella parte superiore) Contorto .

Altri suggerimenti

Sto diventando un grande fan dei circuiti appena pubblicati biblioteca. È un framework di componenti / eventi che viene fornito con un set molto bello di pacchetti per la creazione di server Web e amp; app. Ecco il semplice esempio web dal sito:

from circuits.lib.web import Server, Controller

class HelloWorld(Controller):
   def index(self):
      return "Hello World!"

server = Server(8000)
server += HelloWorld()
server.run()

Anche il suo supporto WSGI non è più complicato di così. Roba buona.

Se stai facendo molte cose simultanee, potresti prendere in considerazione Kamaelia 's HTTPServer .

Ho trovato web.py abbastanza facile da usare: http://webpy.org/

Se si desidera utilizzare qualcosa dalla libreria standard, consiglio vivamente non di utilizzare SimpleHTTPServer, ma invece di utilizzare wsgiref.simple_server . SimpleHTTPServer è un modo imbarazzante e piuttosto insensato per implementare un'applicazione web, e mentre WSGI raw non è terribilmente facile (ma certamente possibile), hai la possibilità di usare qualsiasi framework basato su WSGI su di esso. Inoltre, se usi wsgiref avrai la possibilità di passare a un server come CherryPy in seguito (tieni presente che il server in CherryPy può essere utilizzato separatamente dal resto del framework e hai solo bisogno di un file solo per il server). Per un "reale" l'applicazione Web CherryPy presenta numerosi vantaggi rispetto a wsgiref, ma per un'applicazione ospitata localmente è improbabile che qualcuno di questi abbia importanza.

Se stai creando un'applicazione desktop dovrai avviare un thread separato per wsgiref o CherryPy. Se va bene, allora un server basato su WSGI sarebbe probabilmente il più semplice. Se non vuoi avviare un thread separato per il server, molto probabilmente dovrai usare Twisted.

Vedi l'implementazione riferimento WSGI .

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top