Vereisten: Sommige tools van derden zijn python-scripts, ik doe zelf C#-ontwikkeling, ik ben niet bedreven in Python zelf, als je python-code vertaalt naar C#-code is dat erg moeilijk, het is beter om python te gebruiken om een http-service te openen, ik roep interface twee aan en voer tenslotte python zelf uit om de interne code uit te voeren.
HTTPServer is een subklasse van socketserver.TCPServer. Het creëert en luistert naar HTTP-sockets om verzoeken naar handlers te sturen.
Documentatie:De hyperlink-login is zichtbaar.
Tip: http.serverNiet aanbevolen voor productie。 Het voert alleen basisbeveiligingscontroles uit.
De code is als volgt:
Gebruik Python om te luisteren naar poort 10254, activeer de HTTP-service en probeer toegang te krijgen tot de URL, zoals weergegeven in de volgende figuur:
De tests zijn echter toegankelijk wanneer ik de edge-browser gebruik om meerdere keren toegang te krijgen, soms altijdIn behandelingnadat ik een verbinding heb gemaakt vanaf de native via telnet en poort 10254, ontdekte ik dat de http-dienst niet toegankelijk is vanaf zowel de server als de lokale versie, zoals te zien is op de onderstaande afbeelding,Geen antwoord voor 20 minuten, en uiteindelijk kon ik alleen maar opnieuw verzoeken:
In eerste instantie dacht ik dat het probleem was dat er geen "Content-Length"-instelling was, waardoor de browser niet wist hoeveel bytes aan content gelezen moest worden, en ik wist niet wanneer het lezen klaar was, maar na de response header was het probleem nog steeds niet opgelost.
Kan het zijn dat de standaard single-threaded is, waardoor slechts één client tegelijk toegang heeft?
Toen ik de documentatie bekeek, ontdekte ik dat er een ThreadingHTTPServer-klasse is, die threads gebruikt om verzoeken te verwerken via threads, en de code is als volgt gewijzigd:
Probleem opgelost, klaar.
|