Tento článok je zrkadlovým článkom o strojovom preklade, kliknite sem pre prechod na pôvodný článok.

Pohľad: 12121|Odpoveď: 0

[Zdroj] Python používa http.server na otvorenie http služby

[Kopírovať odkaz]
Zverejnené 2. 12. 2020 15:55:03 | | | |
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ý.






Predchádzajúci:Použite JSC na generovanie dll v JavaScripte pre C# volania
Budúci:Python používa zrkadlové stanice na zrýchlenie sťahovania PIP
Vyhlásenie:
Všetok softvér, programovacie materiály alebo články publikované spoločnosťou Code Farmer Network slúžia len na vzdelávacie a výskumné účely; Vyššie uvedený obsah nesmie byť použitý na komerčné alebo nezákonné účely, inak nesú všetky následky používateľmi. Informácie na tejto stránke pochádzajú z internetu a spory o autorské práva s touto stránkou nesúvisia. Musíte úplne vymazať vyššie uvedený obsah zo svojho počítača do 24 hodín od stiahnutia. Ak sa vám program páči, podporte originálny softvér, zakúpte si registráciu a získajte lepšie originálne služby. Ak dôjde k akémukoľvek porušeniu, kontaktujte nás prosím e-mailom.

Mail To:help@itsvse.com