Krav: Nogle tredjepartsværktøjer er python-scripts, jeg laver selv C#-udvikling, jeg er ikke dygtig til python i sig selv, hvis du oversætter python-kode til C#-kode, er det meget svært, det er bedre at bruge python til at åbne en http-tjeneste, jeg kalder interface to, og til sidst udfører jeg python selv for at køre dets interne kode.
HTTPServer er en underklasse af socketserver.TCPServer. Den opretter og lytter efter HTTP-sockets for at sende anmodninger til håndterere.
Dokumentation:Hyperlink-login er synlig.
Tip: http.serverAnbefales ikke til produktion。 Den implementerer kun grundlæggende sikkerhedskontroller.
Koden er som følger:
Brug Python til at lytte efter port 10254, aktiver HTTP-tjenesten, og prøv at få adgang til URL'en, som vist i følgende figur:
Testene er dog tilgængelige, når jeg bruger edge-browseren til at tilgå flere gange, nogle gange altidAfventertilstand, efter jeg har etableret en forbindelse fra den native via telnet og port 10254, fandt jeg ud af, at http-tjenesten ikke er tilgængelig fra hverken serveren eller den lokale, som vist på billedet nedenfor,Intet svar i 20 minutter, og til sidst kunne jeg kun anmode om det igen:
Først troede jeg, det var et problem, fordi der ikke var nogen indstilling for "Indhold-Længde", hvilket gjorde, at browseren ikke vidste, hvor mange bytes indhold der skulle læses, og jeg vidste ikke, hvornår læsningen var færdig, men efter svar-headeren var problemet stadig ikke løst.
Kan det være, at standarden er single-threaded, så kun én klient kan få adgang ad gangen?
Da jeg kiggede i dokumentationen, fandt jeg, at der findes en ThreadingHTTPServer-klasse, som bruger tråde til at behandle forespørgsler ved at bruge tråde, og koden ændres til følgende:
Problem løst, færdig.
|