Požiadavky: Niektoré nástroje tretích strán sú python skripty, sám vyvíjam C#, nie som zdatný v samotnom Pythone, ak preložíte python kód do C#, je to veľmi náročné, je lepšie použiť python na otvorenie HTTP služby, nazývam interface two, a nakoniec spustiť samotný python na vykonanie jeho interného kódu.
HTTPServer je podtriedou socketserver.TCPServer. Vytvára a počúva HTTP sockety, aby odoslal požiadavky handlerom.
Dokumentácia:Prihlásenie na hypertextový odkaz je viditeľné.
Tip: http.serverNeodporúča sa na výrobu。 Implementuje len základné bezpečnostné kontroly.
Kód je nasledovný:
Použite Python na počúvanie portu 10254, povolenie HTTP služby a pokus sa získať prístup k URL, ako je znázornené na nasledujúcom obrázku:
Testy sú však prístupné, keď používam edge prehliadač na prístup viackrát, niekedy vždyČakápo nadviazaní spojenia z natívneho cez telnet a port 10254 som zistil, že http služba nie je prístupná ani zo servera, ani z lokálneho servera, ako je znázornené na obrázku nižšie,Žiadna odpoveď 20 minút, a nakoniec som mohol len znovu požiadať:
Najprv som si myslel, že problém je v tom, že neexistuje nastavenie "Content-Length", čo spôsobuje, že prehliadač nevie, koľko bajtov obsahu má prečítať, a nevedel som, kedy bolo čítanie dokončené, ale po odpovedi hlavičky problém stále nebol vyriešený.
Môže to byť tak, že predvolená verzia je jednovláknová, takže prístup má naraz len jeden klient?
Keď som sa pozrel do dokumentácie, zistil som, že existuje trieda ThreadingHTTPServer, ktorá používa vlákna na spracovanie požiadaviek pomocou vlákien, a kód sa zmenil na nasledovné:
Problém vyriešený, hotový.
|