Denne artikel er en spejling af maskinoversættelse, klik venligst her for at springe til den oprindelige artikel.

Udsigt: 12121|Svar: 0

[Kilde] Python bruger http.server til at åbne en http-tjeneste

[Kopier link]
Opslået på 02/12/2020 15.55.03 | | | |
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.






Tidligere:Brug JSC til at generere en dll i JavaScript til C#-kald
Næste:Python bruger spejlstationer til at fremskynde pip-downloads
Ansvarsfraskrivelse:
Al software, programmeringsmaterialer eller artikler udgivet af Code Farmer Network er kun til lærings- og forskningsformål; Ovenstående indhold må ikke bruges til kommercielle eller ulovlige formål, ellers skal brugerne bære alle konsekvenser. Oplysningerne på dette site kommer fra internettet, og ophavsretstvister har intet med dette site at gøre. Du skal slette ovenstående indhold fuldstændigt fra din computer inden for 24 timer efter download. Hvis du kan lide programmet, så understøt venligst ægte software, køb registrering og få bedre ægte tjenester. Hvis der er nogen overtrædelse, bedes du kontakte os via e-mail.

Mail To:help@itsvse.com