Acest articol este un articol oglindă al traducerii automate, vă rugăm să faceți clic aici pentru a sări la articolul original.

Vedere: 12121|Răspunde: 0

[Sursă] Python folosește http.server pentru a deschide un serviciu http

[Copiază linkul]
Postat pe 02.12.2020 15:55:03 | | | |
Cerințe: Unele unelte terțe sunt scripturi python, eu mă ocup de dezvoltare C#, nu sunt priceput în python propriu-zis, dacă traduci codul python în C#, este foarte dificil, este mai bine să folosești python pentru a deschide un serviciu http, apelez interfața doi și, în final, execut python pentru a executa codul intern.

HTTPServer este o subclasă a socketserver.TCPServer. Creează și ascultă socket-uri HTTP pentru a trimite cererile către handleri.

Documentație:Autentificarea cu hyperlink este vizibilă.

Sfat: http.serverNu este recomandat pentru producție。 Implementează doar verificări de securitate de bază.

Codul este următorul:


Folosește Python pentru a asculta portul 10254, activează serviciul HTTP și încearcă să accesezi URL-ul, așa cum este prezentat în figura următoare:



Testele sunt însă accesibile atunci când folosesc browserul Edge pentru a accesa de mai multe ori, uneori întotdeaunaÎn așteptaredupă ce stabilesc o conexiune nativă prin telnet și portul 10254, am constatat că serviciul http nu este accesibil nici de pe server, nici din local, așa cum se arată în imaginea de mai jos,Niciun răspuns timp de 20 de minute, și în final, nu am putut decât să cer din nou:


La început, am crezut că problema este că nu există o setare "Conținut-lungime", ceea ce făcea ca browserul să nu știe câți octeți de conținut să citească, iar eu nu știam când s-a terminat lectura, dar după antetul răspunsului, problema tot nu a fost rezolvată.

Ar putea fi ca implicitul să fie single-threaded, permițând accesul doar unui singur client la un moment dat?

Uitându-mă la documentație, am descoperit că există o clasă ThreadingHTTPServer, care folosește firele pentru a procesa cererile folosind fire, iar codul este schimbat astfel:

Problemă rezolvată, terminată.






Precedent:Folosește JSC pentru a genera un dll în JavaScript pentru apeluri C#
Următor:Python folosește stații oglindă pentru a accelera descărcarea PIP
Disclaimer:
Tot software-ul, materialele de programare sau articolele publicate de Code Farmer Network sunt destinate exclusiv scopurilor de învățare și cercetare; Conținutul de mai sus nu va fi folosit în scopuri comerciale sau ilegale, altfel utilizatorii vor suporta toate consecințele. Informațiile de pe acest site provin de pe Internet, iar disputele privind drepturile de autor nu au legătură cu acest site. Trebuie să ștergi complet conținutul de mai sus de pe calculatorul tău în termen de 24 de ore de la descărcare. Dacă îți place programul, te rugăm să susții software-ul autentic, să cumperi înregistrarea și să primești servicii autentice mai bune. Dacă există vreo încălcare, vă rugăm să ne contactați prin e-mail.

Mail To:help@itsvse.com