Zahteve: Nekatera orodja tretjih oseb so python skripte, sam razvijam C#, sam pa nisem vešč Pythona, če prevedeš python kodo v C#, je zelo težko, bolje je uporabiti python za odpiranje HTTP storitve, jaz imenujem interface two, in na koncu zagnati python za izvedbo njegove notranje kode.
HTTPServer je podrazred socketserver.TCPServer. Ustvarja in posluša HTTP vtičnice, da pošlje zahteve handlerjem.
Dokumentacija:Prijava do hiperpovezave je vidna.
Namig: http.serverNi priporočljivo za proizvodnjo。 Izvaja le osnovne varnostne preglede.
Koda je naslednja:
Uporabite Python za poslušanje porta 10254, omogočite HTTP storitev in poskusite dostopati do URL-ja, kot je prikazano na naslednji sliki:
Testi so dostopni, če uporabljam edge brskalnik za dostop večkrat, včasih vednoV tekustanje, potem ko vzpostavim povezavo med nativnim strežnikom preko telneta in porta 10254, ugotovim, da http storitev ni dostopna tako s strežnika kot lokalnega, kot je prikazano na spodnji sliki,Brez odgovora 20 minut, in na koncu sem lahko le ponovno zahteval:
Sprva sem mislil, da je težava v tem, da ni nastavitve "Content-Length", zaradi česar brskalnik ne ve, koliko bajtov vsebine naj prebere, in nisem vedel, kdaj je bilo branje končano, a po glavi odgovora težava še vedno ni bila rešena.
Ali je mogoče, da je privzeta enotno-nitna, ki omogoča dostop le enemu odjemalcu hkrati?
Ko sem pregledal dokumentacijo, sem ugotovil, da obstaja razred ThreadingHTTPServer, ki uporablja niti za obdelavo zahtevkov z uporabo niti, koda pa je spremenjena v naslednjo:
Problem rešen, končano.
|