Šis straipsnis yra veidrodinis mašininio vertimo straipsnis, spauskite čia norėdami pereiti prie originalaus straipsnio.

Rodinys: 12121|Atsakyti: 0

[Šaltinis] Python naudoja http.server, kad atidarytų http paslaugą

[Kopijuoti nuorodą]
Paskelbta 2020-12-02 15:55:03 | | | |
Reikalavimai: Kai kurie trečiųjų šalių įrankiai yra python scenarijai, aš pats kuriu C#, nemoku paties python, jei išverčiate python kodą į C# kodą, tai labai sunku, geriau naudoti python http paslaugai atidaryti, aš vadinu sąsają dviem ir galiausiai vykdau patį python, kad vykdyčiau savo vidinį kodą.

HTTPServer yra socketserver.TCPServer poklasis. Jis sukuria ir klausosi HTTP lizdų, kad išsiųstų užklausas apdorojimo programoms.

Dokumentacija:Hipersaito prisijungimas matomas.

Patarimas: http.serverNerekomenduojama gaminti。 Ji įgyvendina tik pagrindinius saugumo patikrinimus.

Kodas yra toks:


Naudokite Python, kad klausytumėtės 10254 prievado, įgalinkite HTTP paslaugą ir pabandykite pasiekti URL, kaip parodyta šiame paveikslėlyje:



Tačiau testai yra pasiekiami, kai naudoju krašto naršyklę, kad galėčiau pasiekti kelis kartus, kartais visadaLaukiamabūsena, užmezgęs ryšį iš gimtojo per telnet ir 10254 prievadą, pastebėjau, kad http paslauga nepasiekiama tiek iš serverio, tiek iš vietinio, kaip parodyta paveikslėlyje žemiau,Jokio atsakymo 20 minučių, ir galų gale, aš galėjau tik pakartotinai paprašyti:


Iš pradžių maniau, kad problema yra ta, kad nėra "Content-Length" nustatymo, todėl naršyklė nežino, kiek baitų turinio skaityti, ir nežinojau, kada skaitymas baigtas, bet po atsakymo antraštės problema vis tiek nebuvo išspręsta.

Ar gali būti, kad numatytasis yra vienos gijos, leidžiantis vienu metu pasiekti tik vieną klientą?

Žvelgdamas į dokumentaciją, radau, kad yra ThreadingHTTPServer klasė, kuri naudoja gijas, kad apdorotų užklausas naudojant gijas, ir kodas pakeistas į šį:

Problema išspręsta, baigta.






Ankstesnis:Naudokite JSC, kad sugeneruotumėte dll JavaScript C# skambučiams
Kitą:Python naudoja veidrodines stotis, kad pagreitintų PIP atsisiuntimą
Atsakomybės apribojimas:
Visa programinė įranga, programavimo medžiaga ar straipsniai, kuriuos skelbia Code Farmer Network, yra skirti tik mokymosi ir mokslinių tyrimų tikslams; Aukščiau nurodytas turinys negali būti naudojamas komerciniais ar neteisėtais tikslais, priešingu atveju vartotojai prisiima visas pasekmes. Šioje svetainėje pateikiama informacija gaunama iš interneto, o ginčai dėl autorių teisių neturi nieko bendra su šia svetaine. Turite visiškai ištrinti aukščiau pateiktą turinį iš savo kompiuterio per 24 valandas nuo atsisiuntimo. Jei jums patinka programa, palaikykite autentišką programinę įrangą, įsigykite registraciją ir gaukite geresnes autentiškas paslaugas. Jei yra kokių nors pažeidimų, susisiekite su mumis el. paštu.

Mail To:help@itsvse.com