Dieser Artikel ist ein Spiegelartikel der maschinellen Übersetzung, bitte klicken Sie hier, um zum Originalartikel zu springen.

Ansehen: 12121|Antwort: 0

[Quelle] Python verwendet http.server, um einen HTTP-Dienst zu öffnen

[Link kopieren]
Veröffentlicht am 02.12.2020 15:55:03 | | | |
Anforderungen: Einige Drittanbieter-Tools sind Python-Skripte, ich mache C#-Entwicklung selbst, ich bin nicht versiert mit Python selbst. Wenn man Python-Code in C#-Code übersetzt, ist das sehr schwierig, es ist besser, Python zu verwenden, um einen HTTP-Dienst zu öffnen, ich rufe Schnittstelle zwei auf und führe schließlich Python selbst aus, um dessen internen Code auszuführen.

HTTPServer ist eine Unterklasse von socketserver.TCPServer. Es erstellt und hört HTTP-Sockets, um Anfragen an Handler zu senden.

Dokumentation:Der Hyperlink-Login ist sichtbar.

Tipp: http.serverFür die Produktion nicht empfohlen。 Es führt nur grundlegende Sicherheitskontrollen durch.

Der Code lautet wie folgt:


Verwenden Sie Python, um nach Port 10254 zu suchen, aktivieren Sie den HTTP-Dienst und versuchen Sie, auf die URL zuzugreifen, wie in der folgenden Abbildung gezeigt:



Die Tests sind jedoch zugänglich, wenn ich den Edge-Browser nutze, um mehrmals zuzugreifen, manchmal immerAusstehendNachdem ich eine Verbindung vom Native über Telnet und Port 10254 hergestellt habe, stellte ich fest, dass der HTTP-Dienst weder vom Server noch vom lokalen Dienst aus zugänglich ist, wie auf dem untenstehenden Bild zu sehen ist.20 Minuten lang keine Antwort, und am Ende konnte ich nur noch einmal darum bitten:


Zuerst dachte ich, es läge daran, dass es keine "Inhalts-Länge"-Einstellung gab, wodurch der Browser nicht wusste, wie viele Bytes Inhalt er lesen sollte, und ich wusste nicht, wann das Lesen abgeschlossen war, aber nach dem Antwort-Header war das Problem immer noch nicht gelöst.

Könnte es sein, dass der Standard Single-Threaded ist, sodass nur ein Client gleichzeitig Zugriff hat?

In der Dokumentation habe ich festgestellt, dass es eine ThreadingHTTPServer-Klasse gibt, die Threads nutzt, um Anfragen mithilfe von Threads zu verarbeiten, und der Code wurde wie folgt geändert:

Problem gelöst, abgeschlossen.






Vorhergehend:Verwenden Sie JSC, um eine DLL in JavaScript für C#-Aufrufe zu generieren
Nächster:Python verwendet Spiegelstationen, um Pip-Downloads zu beschleunigen
Verzichtserklärung:
Alle von Code Farmer Network veröffentlichten Software, Programmiermaterialien oder Artikel dienen ausschließlich Lern- und Forschungszwecken; Die oben genannten Inhalte dürfen nicht für kommerzielle oder illegale Zwecke verwendet werden, andernfalls tragen die Nutzer alle Konsequenzen. Die Informationen auf dieser Seite stammen aus dem Internet, und Urheberrechtsstreitigkeiten haben nichts mit dieser Seite zu tun. Sie müssen die oben genannten Inhalte innerhalb von 24 Stunden nach dem Download vollständig von Ihrem Computer löschen. Wenn Ihnen das Programm gefällt, unterstützen Sie bitte echte Software, kaufen Sie die Registrierung und erhalten Sie bessere echte Dienstleistungen. Falls es eine Verletzung gibt, kontaktieren Sie uns bitte per E-Mail.

Mail To:help@itsvse.com