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.
|