Tento článek je zrcadlovým článkem o strojovém překladu, klikněte zde pro přechod na původní článek.

Pohled: 12121|Odpověď: 0

[Zdroj] Python používá http.server k otevření http služby

[Kopírovat odkaz]
Zveřejněno 02.12.2020 15:55:03 | | | |
Požadavky: Některé nástroje třetích stran jsou python skripty, sám vyvíjím C#, nejsem v samotném pythonu zdatný, pokud přeložíte python kód do C#, je to velmi obtížné, je lepší použít python k otevření HTTP služby, říkám interface two, a nakonec spustit samotný python pro spuštění jeho interního kódu.

HTTPServer je podtřídou socketserver.TCPServer. Vytváří a naslouchá HTTP socketům, aby mohl odesílat požadavky handlerům.

Dokumentace:Přihlášení k hypertextovému odkazu je viditelné.

Tip: http.serverNedoporučuje se pro výrobu。 Provádí pouze základní bezpečnostní kontroly.

Kód je následující:


Použijte Python k naslouchání portu 10254, povolte HTTP službu a zkuste se dostat k URL, jak je znázorněno na následujícím obrázku:



Testy jsou však přístupné, když používám edge browser k přístupu několikrát, někdy vždyČeká napoté, co jsem navázal spojení z nativního přes telnet a port 10254, jsem zjistil, že http služba není přístupná jak ze serveru, tak z lokálního serveru, jak je vidět na obrázku níže,Žádná odpověď 20 minut, a nakonec jsem mohl jen znovu požádat:


Nejdřív jsem si myslel, že problém je v tom, že není nastavení "Content-Length", což způsobuje, že prohlížeč neví, kolik bajtů obsahu má přečíst, a nevěděl jsem, kdy bylo čtení dokončeno, ale i po odpovědi hlavičky problém stále nebyl vyřešen.

Může to být tak, že výchozí verze je jednovláknová, takže přístup může mít najednou jen jeden klient?

Když jsem se podíval do dokumentace, zjistil jsem, že existuje třída ThreadingHTTPServer, která používá vlákna ke zpracování požadavků pomocí vláken, a kód je změněn na následující:

Problém vyřešen, hotovo.






Předchozí:Použijte JSC k vytvoření dll v JavaScriptu pro volání v C#
Další:Python používá zrcadlové stanice ke zrychlení stahování PIP
Zřeknutí se:
Veškerý software, programovací materiály nebo články publikované organizací Code Farmer Network slouží pouze k učení a výzkumu; Výše uvedený obsah nesmí být používán pro komerční ani nelegální účely, jinak nesou všechny důsledky uživatelé. Informace na tomto webu pocházejí z internetu a spory o autorská práva s tímto webem nesouvisí. Musíte výše uvedený obsah ze svého počítače zcela smazat do 24 hodin od stažení. Pokud se vám program líbí, podporujte prosím originální software, kupte si registraci a získejte lepší skutečné služby. Pokud dojde k jakémukoli porušení, kontaktujte nás prosím e-mailem.

Mail To:help@itsvse.com