Követelmények: Néhány harmadik féltől származó eszköz python szkript, én magam fejlesztem C#-ot, nem vagyok jártas a pythonban, ha a python kódot C# kódra fordítod, nagyon nehéz, jobb pythont használni egy http szolgáltatás megnyitásához, én a második interfészt hívom, és végül magát a pythont futtatom, hogy végrehajtsam a belső kódját.
A HTTPServer a socketserver.TCPServer egyik alosztálya. Létrehoz és hallgatja meg HTTP socketeket, hogy kéréseket továbbítsanak a kezelőknek.
Dokumentáció:A hiperlink bejelentkezés látható.
Tipp: http.serverNem ajánlott gyártásra。 Csak alapvető biztonsági ellenőrzéseket hajt végre.
A kódex a következő:
Használd a Pythont a 10254-es port meghallgatásához, engedélyezd az HTTP szolgáltatást, és próbáld meg elérni az URL-t, ahogy az alábbi ábrán látható:
A tesztek azonban elérhetők, ha az edge böngészővel többször is hozzáférek, néha mindigFüggőbenMiután létrehoztam a kapcsolatot a natív hálózatról a telneten és a 10254-es porton keresztül, azt tapasztaltam, hogy a HTTP szolgáltatás sem a szerverről, sem a helyi hálózatról nem érhető el, ahogy az alábbi képen is látható,20 percig nem volt válasz, és végül csak újra kérhettem:
Eleinte azt hittem, hogy a probléma az, hogy nincs "Tartalom-Hossz" beállítás, ezért a böngésző nem tudja, hány bájt tartalmat kell olvasni, és nem tudtam, mikor fejeződött be az olvasás, de a válasz fejléce után a probléma még mindig nem oldódott meg.
Lehet, hogy az alapértelmezett egyszálú, így egyszerre csak egy klienshez lehet hozzáférni?
A dokumentációt nézve azt találtam, hogy létezik egy ThreadingHTTPServer osztály, amely szálakat használ a kérések feldolgozására, és a kód a következőkre változik:
Probléma megoldva, kész.
|