Este artículo es un artículo espejo de traducción automática, por favor haga clic aquí para saltar al artículo original.

Vista: 12121|Respuesta: 0

[Fuente] Python utiliza http.server para abrir un servicio http

[Copiar enlace]
Publicado en 2/12/2020 15:55:03 | | | |
Requisitos: Algunas herramientas de terceros son scripts en Python, yo mismo hago desarrollo en C#, no soy competente en Python en sí, si traduces código de Python a C# es muy difícil, es mejor usar Python para abrir un servicio http, llamo a la interfaz dos y finalmente ejecuto Python para ejecutar su código interno.

HTTPServer es una subclase de socketserver.TCPServer. Crea y escucha los sockets HTTP para despachar solicitudes a los manejadores.

Documentación:El inicio de sesión del hipervínculo es visible.

Consejo: http.serverNo recomendado para producción。 Solo implementa controles básicos de seguridad.

El código es el siguiente:


Usa Python para escuchar el puerto 10254, activar el servicio HTTP e intentar acceder a la URL, como se muestra en la siguiente figura:



Sin embargo, las pruebas son accesibles cuando uso el navegador Edge para acceder varias veces, a veces siemprependienteestado, después de establecer una conexión desde el nativo a través de telnet y el puerto 10254, descubrí que el servicio http no es accesible ni desde el servidor ni desde el local, como se muestra en la imagen de abajo,Sin respuesta durante 20 minutos, y al final, solo pude volver a pedir:


Al principio pensé que era un problema porque no había una opción de "Longitud de contenido", lo que hacía que el navegador no supiera cuántos bytes de contenido debía leer, y no sabía cuándo había terminado la lectura, pero después de la cabecera de respuesta, el problema seguía sin resolverse.

¿Podría ser que el valor predeterminado sea de un solo hilo, permitiendo que solo un cliente acceda a la vez?

Al revisar la documentación, encontré que existe una clase ThreadingHTTPServer, que utiliza hilos para procesar solicitudes mediante hilos, y el código cambia a lo siguiente:

Problema resuelto, terminado.






Anterior:Usa JSC para generar una dll en JavaScript para llamadas a C#
Próximo:Python utiliza estaciones espejo para acelerar las descargas de PIP
Renuncia:
Todo el software, materiales de programación o artículos publicados por Code Farmer Network son únicamente para fines de aprendizaje e investigación; El contenido anterior no se utilizará con fines comerciales o ilegales; de lo contrario, los usuarios asumirán todas las consecuencias. La información de este sitio proviene de Internet, y las disputas de derechos de autor no tienen nada que ver con este sitio. Debes eliminar completamente el contenido anterior de tu ordenador en un plazo de 24 horas desde la descarga. Si te gusta el programa, por favor apoya el software genuino, compra el registro y obtén mejores servicios genuinos. Si hay alguna infracción, por favor contáctanos por correo electrónico.

Mail To:help@itsvse.com