Portál AbcLinuxu, 3. prosince 2025 14:06
Pokud chcete u Raiffeisenbank strojově zpracovávat příkazy, tak musíte cálovat. Musíte si pořídit certifikát, platit za něj a používat zbytečný Win-only bazmek, kterému se říká eKomunikátor. Nebo tak si myslím, že to celé je.
Raiffeisenbank zdarma poskytuje bankovní výpisy jen ve formátu TXT, příp. PDF. Pro formát ABO/GPC musíte mít eKomunikátor. Platit za nic se mi nechtělo, tak jsem místo pravidelného placení raději věnoval svůj čas napsání utilitky, která si vezme výpis ve formátu TXT a vygeneruje z něj ABO/GPC. Najdete ho tady, berte to jako public domain.
Kód není úplně hezký, nepoužívá fajnšmekroviny z C++ a vůbec na to vlastně nejsem hrdý, ale nějak mi funguje. Poznámky k chování:
Chystám se ještě napsat něco, co by umožnilo obrácený postup: zadávání hromadných příkazů k platbě bez placení za eKomunikátor. Bude to nějaká věc v JavaScriptu, možná rozšíření pro Chrome, které to bude ládovat do jejich formuláře v internetovém bankovnictví.
Tiskni
Sdílej:
Našel jsem jen specifikace vstupního a výstupního formátu souboru, ale ty se musí předávat přes webové rozhraní -- alespoň jsem nikde nenašel zmínku o jiné možnosti. Samozřejmě, to klikání na webu lze nasimulovat i z aplikace, ale oficiální API by bylo lepší.
$buffer = '';
$fp = fsockopen("ssl://www.fio.cz", 443, $errno, $errstr, 30);
if (!$fp) {
echo "chyba";
return 0;
}
else {
$out = "GET /scgi-bin/hermes/dz-pohyby.cgi?ID_ucet=2XXXXXXXXX&LOGIN_USERNAME=XXXXXX&SUBMIT=Odeslat&LOGIN_TIME=".time()."&LOGIN_PASSWORD=XXXXXXX HTTP/1.1\r\n";
$out .= "Host: www.fio.cz\r\n";
$out .= "User-Agent: PHP Script\r\n";
$out .= "Content-Type: text/html\r\n";
$out .= "Connection: Close\r\n\r\n";
fwrite($fp, $out);
while (!feof($fp)) {
$buffer .= fgets($fp, 128);
}
echo $buffer;
fclose($fp);
}
Za XXXXXX si doplňte příslušné hodnoty (obvykle desetimístné číslo účtu v záložně začínající číslicí "2", uživatelské jméno, přihlašovací heslo).
----------------
Jinak musim rict, ze cekam na to, az zavedou moznost prirazeni uzivatele pro tyto operace, ktery bude mit prava pro cteni, ale nebude fyzickou osobou. To se jim dodnes nepodarilo vyresit a radi, abysme k uctu priradili nejakou skutecnou osobu, nastavili ji nulova prava a potom jeji prihlasovaci udaje pouzivali v ramci strojove komunikace.
Výpisy jsou stejně časově poměrně variabilní (nejsou každý den např. v devět ráno), takže aby tohle běželo někde na pozadí skoro pořád ... Úspora v porovnání s ručním stažením GPC sice je, ale nikterak významná, si myslím.
Kromě toho - generování GPC pro více dnů naráz nepovažuji za rozumné. Chybí mi tam atomicita ze strany banky.
Vsadím se, že by na to šel napsat oneliner v perlu, co by se mi vešel na šířku monitoru.
.cpp
iostream nijak zvlášť nemiluju...)
boost::format.) Jinak ale iostream je obvykle rychlejší než cstdio, musí se ale vypnout sync with cstdio, viz zde.
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.