abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
dnes 11:33 | Zajímavý článek

Na oficiálním blogu Raspberry Pi byla představena kniha An Introduction to C & GUI Programming. Kniha je ke stažení zdarma (pdf). Papírovou verzi lze koupit za 10 liber.

Ladislav Hagara | Komentářů: 1
dnes 10:33 | Nová verze

Byla vydána nová verze 4.0.0 otevřeného emulátoru procesorů a virtualizačního nástroje QEMU (Wikipedie). Přispělo 220 vývojářů. Provedeno bylo více než 3 100 commitů. Přehled úprav a nových vlastností v seznamu změn.

Ladislav Hagara | Komentářů: 0
dnes 10:00 | Nová verze

Google Chrome 74 byl prohlášen za stabilní (YouTube). Nejnovější stabilní verze 74.0.3729.108 tohoto webového prohlížeče přináší řadu oprav a vylepšení. Vylepšeny byly také nástroje pro vývojáře (YouTube). Opraveno bylo 39 bezpečnostních chyb.

Ladislav Hagara | Komentářů: 0
včera 21:44 | Nová verze

Po roce vývoje od vydání verze 1.14.0 byla vydána nová stabilní verze 1.16.0 dle Netcraftu aktuálně nejpoužívanějšího webového serveru a reverzní proxy nginx (Wikipedie). Nová verze přináší řadu novinek. Podrobný přehled v souboru CHANGES-1.16.

Ladislav Hagara | Komentářů: 0
včera 13:44 | Zajímavý software

Termshark je Wireshark běžící v terminálu. Jedná se o nadstavbu nad tshark naprogramovanou v programovacím jazyce Go. Zdrojové kódy jsou k dispozici na GitHubu.

Ladislav Hagara | Komentářů: 1
včera 13:22 | Nová verze

Měsíc po vydání verze 1.16.0 byla vydána nová verze 1.18.0 sady nástrojů pro správu síťových připojení NetworkManager. Přehled novinek v souboru NEWS na GitLabu.

Ladislav Hagara | Komentářů: 1
včera 11:22 | Komunita

Linuxová distribuce Scientific Linux vycházející z Red Hat Enterprise Linuxu končí, verze 8 nebude vydána. Laboratoř Fermi (Fermi National Accelerator Laboratory), hlavní vývojáři Scientific Linuxu, přejde na CentOS 8. Scientific Linux ve verzích 6 a 7 bude nadále podporován.

Ladislav Hagara | Komentářů: 10
včera 11:11 | Pozvánky

Dubnový sraz spolku OpenAlt se koná ve čtvrtek 25. 4. 2019 v Pivovarském klubu od 18:00. Najdete jej kousek od metra Florenc na adrese Křižíkova 17°, Praha 8. Sejdeme se zase u dobrého piva a popovídáme si o tématech jako umění a technologie, IoT, CNC, svobodný software, hardware a další hračky.

xkucf03 | Komentářů: 0
21.4. 22:33 | Komunita

Byly vyhlášeny výsledky letošní volby vedoucího projektu Debian (DPL). Dnešním dnem je novým vedoucím Sam Hartman.

Ladislav Hagara | Komentářů: 9
21.4. 22:11 | Nová verze

Po čtyřech měsících od vydání verze 5.5 byla vydána verze 5.6 svobodného multiplatformního softwaru pro konverzi a zpracování digitálních fotografií primárně ve formátů RAW RawTherapee (Wikipedie). Nová verze RawTherapee je k dispozici také jako balíček ve formátu AppImage. Stačí jej stáhnout, nastavit právo ke spuštění a spustit.

Ladislav Hagara | Komentářů: 0
Používáte headset pro virtuální realitu?
 (1%)
 (3%)
 (2%)
 (19%)
 (0%)
 (74%)
Celkem 229 hlasů
 Komentářů: 12, poslední 18.4. 01:19
Rozcestník

Dotaz: Lze komunikovat s python skriptem pres webove rozhrani resp. websocket?

radicz avatar 26.5.2018 21:07 radicz | Štěpánkovice
Lze komunikovat s python skriptem pres webove rozhrani resp. websocket?
Přečteno: 2167×
Zdar, mam python skript, ktery slouzi k autentikaci, jeho vystupy mohou byt dva, a to:

1) skript vyhodi prompt do terminalu pro zadani autentikacniho kodu, pokud jeste dany user neni autentikovan
2) pokud je dany user autentikovan, skript nevypise nic

Mym cilem je premostit tento skript do weboveho xichtu, tedy ze user zada sve udaje, se kteryma se chce autentikovat, na serveru by se mel spustit jiz zminovany python skript, a pokud by vyskocil prompt pro zadani auth kodu, tak i userovi zobrazit nejaky popup pro zadani auth kodu, a ten poslat zpatky do skriptu a dokoncit tak autentikaci.

Zatim se mi pres websockety povedlo akorat to, ze se auth skript na serveru spusti, pak pomoci pexpect modulu userovi na webu zobrazim jestli je vyzadovana autentikace ci nikoliv (pokud ano tak zobrazim pop up pro vlozeni auth kodu), tady ale bohuzel koncim, protoze nevim jak se vratit zpatky do python funkce ze ktere uz jsem jednou vyskocil.

Chtel bych se tedy zeptat, jestli je vubec takovato komunikace s pythonim skriptem mozna pres web sockety, a nebo na to jdu uplne ze spatne strany, a existujou mnohem lepsi cesty jak toto vyresit?

Za pripadne odpovedi dekuji!

Odpovědi

26.5.2018 21:43 NN
Rozbalit Rozbalit vše Re: Lze komunikovat s python skriptem pres webove rozhrani resp. websocket?
Nemuzes ten autentizacni skript prepsat pro web? Bylo by to daleko cistsi reseni.
radicz avatar 28.5.2018 22:20 radicz | Štěpánkovice
Rozbalit Rozbalit vše Re: Lze komunikovat s python skriptem pres webove rozhrani resp. websocket?
hmm mozna bych mohl nejak sahnout do te knihovny ktera tu autentizaci poskytuje, ale porad mam problem jak se usera zeptat na auth code pokud je potreba
28.5.2018 14:06 Petr
Rozbalit Rozbalit vše Re: Lze komunikovat s python skriptem pres webove rozhrani resp. websocket?
Jak ten skript spouštíš? Nechápu tu cestu. Máš skript, webový prohlížeč, webový server? Skript spouštíš ze serveru který komunikuje s prohlížečem přes websocket? Server je v pythonu, php nebo v čem?
radicz avatar 28.5.2018 22:19 radicz | Štěpánkovice
Rozbalit Rozbalit vše Re: Lze komunikovat s python skriptem pres webove rozhrani resp. websocket?
mam webovy server v pythonu (flask), na stejnem serveru je skript ktery, jak jsi rekl komunikuje s prohlizecem pres websocket
4.6.2018 15:34 Ja
Rozbalit Rozbalit vše Re: Lze komunikovat s python skriptem pres webove rozhrani resp. websocket?
Obávám se, že musíš funkci autentikace volat dvakrát - nejdřív ji zavolat bez vstupu a zjistit podle výsledku, jsi-li přihlášený, či nikoliv. Pokud ano, vrátíš do browseru informaci že je přihlášeno a vše ok. Pokud ne, vrátíš browseru formulář pro zadání auth kódu a čekáš na kód.

Zhruba takto:

@app.route("/")
def zacatek():
    result = auth("")
    if result:
       return "Already authenticated!"
    else:
       return """<form action="/auth" methid="POST">zadej auth:<input type="password" name="auth"><input type="submit"></form>"""

@app.route("/auth", methods=["GET"])
def auth():
    result = auth(request.form["auth"])
    if result:
       return "Good, authenticated!"
    else:
       return "Bad auth!"

Je to jen letmý nástřel psaný naslepo, ale princip je asi zřejmý.
radicz avatar 7.6.2018 16:16 radicz | Štěpánkovice
Rozbalit Rozbalit vše Re: Lze komunikovat s python skriptem pres webove rozhrani resp. websocket?
Dnes vyzkousim. On asi bude problem v mem pristupu, chtel jsem to mermomoci napsat, bez refreshe stranky, tedy za pomoci js, tak ze user hned uvidi co se deje, vyskoci mu hned auth input atd. Diky tvemu prikladu vidim, ze kdyz to udelam takhle stavove, tak si usetrim spoustu nervu. Dekuji!
8.6.2018 08:38 Ja
Rozbalit Rozbalit vše Re: Lze komunikovat s python skriptem pres webove rozhrani resp. websocket?
Pochopitelně to můžeš udělat i bez reloadu stránky, když ten "server" z minulého příspěvku předěláš aby vracel odpovědi v jsonu, případně nastavoval http status kódy a javascript pošle ajaxem dotaz na informaci o přihlášení (na tu url "/"), když dostane info že přihlášený není, tak zobrazí formulář a po vyplnění zas ajaxem odešle údaje na "/auth" a podle výsledku informuje uživatele. Prakticky všechno co se dá udělat klasickým odesíláním stránky se dá nahradit sekvencí volání ajaxu (tedy až na volání http z https apod.).
8.6.2018 08:40 Ja
Rozbalit Rozbalit vše Re: Lze komunikovat s python skriptem pres webove rozhrani resp. websocket?
Mimochodem, mám tam chybu - form odesílám metodou POST a /auth mám navěšené na GET - správně by mělo být oboje POST. Jak jsem psal, je to jen letmý nástřel.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267   www.czech-server.cz
© 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.