Cet article est un article miroir de traduction automatique, veuillez cliquer ici pour accéder à l’article original.

Vue: 12121|Répondre: 0

[Source] Python utilise http.server pour ouvrir un service http

[Copié le lien]
Publié sur 02/12/2020 15:55:03 | | | |
Exigences : Certains outils tiers sont des scripts Python, je développe moi-même du C#, je ne maîtrise pas Python lui-même, si vous traduisez du code Python en C#, c’est très difficile, il vaut mieux utiliser Python pour ouvrir un service http, j’appelle l’interface deux, et enfin j’exécute Python lui-même pour exécuter son code interne.

HTTPServer est une sous-classe de socketserver.TCPServer. Il crée et écoute des sockets HTTP pour envoyer les requêtes aux gestionnaires.

Documentation:La connexion hyperlientérée est visible.

Conseil : http.serverNon recommandé pour la production。 Il ne met en place que des contrôles de sécurité basiques.

Le code est le suivant :


Utilisez Python pour écouter le port 10254, activez le service HTTP et essayez d’accéder à l’URL, comme montré dans la figure suivante :



Les tests sont cependant accessibles lorsque j’utilise le navigateur Edge pour accéder plusieurs fois, parfois toujoursEn attenteÉtat, après avoir établi une connexion depuis le natif via telnet et le port 10254, j’ai constaté que le service http n’est pas accessible ni depuis le serveur ni depuis le local, comme montré sur l’image ci-dessous,Aucune réponse pendant 20 minutes, et au final, je ne pouvais que redemander :


Au début, je pensais que c’était un problème parce qu’il n’y avait pas de réglage « Longueur du contenu », ce qui empêchait le navigateur de lire combien d’octets de contenu il fallait, et je ne savais pas quand la lecture était terminée, mais après l’en-tête de la réponse, le problème n’était toujours pas résolu.

Se pourrait-il que le défaut soit monothread, ne permettant qu’un seul client d’accéder à la fois ?

En consultant la documentation, j’ai trouvé qu’il existe une classe ThreadingHTTPServer, qui utilise des threads pour traiter les requêtes en utilisant des threads, et le code est modifié pour suivre :

Problème résolu, terminé.






Précédent:Utilisez JSC pour générer une dll en JavaScript pour les appels C#
Prochain:Python utilise des stations miroir pour accélérer les téléchargements de pips
Démenti:
Tous les logiciels, supports de programmation ou articles publiés par Code Farmer Network sont uniquement destinés à l’apprentissage et à la recherche ; Le contenu ci-dessus ne doit pas être utilisé à des fins commerciales ou illégales, sinon les utilisateurs assumeront toutes les conséquences. Les informations sur ce site proviennent d’Internet, et les litiges de droits d’auteur n’ont rien à voir avec ce site. Vous devez supprimer complètement le contenu ci-dessus de votre ordinateur dans les 24 heures suivant le téléchargement. Si vous aimez le programme, merci de soutenir un logiciel authentique, d’acheter l’immatriculation et d’obtenir de meilleurs services authentiques. En cas d’infraction, veuillez nous contacter par e-mail.

Mail To:help@itsvse.com