Files
Vladimir Buzalka 32aabcbe6d notebookvb
2026-04-20 21:04:56 +02:00

70 lines
2.4 KiB
Python

"""
Přihlášení na portál ZPMVČR (eforms.zpmvcr.cz) jménem a heslem.
Odlišná platforma od portalzp.cz — přihlášení přes POST formulář s polem PIN a heslo.
Přihlašovací pole:
pin — přihlašovací jméno (zobrazeno jako "PIN" na stránce)
pin2 — druhá část PINu (obvykle prázdné)
pwd — heslo
POUŽITÍ:
pip install requests
python 01_prihlaseni.py
"""
import json
import os
import sys
import requests
# ── Přihlašovací údaje ────────────────────────────────────────────────────────
PIN = "9023895287"
PIN2 = "" # druhé pole PINu — obvykle prázdné
HESLO = "Ax162q8+"
# ─────────────────────────────────────────────────────────────────────────────
LOGIN_URL = "https://eforms.zpmvcr.cz/eforms/ekomunikace"
COOKIES_FILE = os.path.abspath(os.path.join(os.path.dirname(__file__), "zpmvcr_cookies.json"))
def main() -> None:
session = requests.Session()
session.headers["User-Agent"] = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"
# 1. GET → session cookie
r = session.get(LOGIN_URL, timeout=15)
r.raise_for_status()
# 2. POST přihlášení
r = session.post(LOGIN_URL, data={"pin": PIN, "pin2": PIN2, "pwd": HESLO}, timeout=15)
r.raise_for_status()
# Úspěch = server přesměroval pryč z login stránky na redir nebo smluvni
if "pin" in r.text and "Přihlásit" in r.text:
print(f"Prihlaseni selhalo — zkontroluj PIN a HESLO. URL: {r.url}")
sys.exit(1)
print(f"Prihlaseni uspesne — {r.url}")
cookies = [
{
"name": c.name,
"value": c.value,
"domain": c.domain if c.domain.startswith(".") else "." + c.domain,
"path": c.path or "/",
"expires": int(c.expires) if c.expires else -1,
"secure": bool(c.secure),
"httpOnly": False,
"sameSite": "Lax",
}
for c in session.cookies
]
with open(COOKIES_FILE, "w", encoding="utf-8") as f:
json.dump(cookies, f, indent=2, ensure_ascii=False)
print(f"Ulozeno {len(cookies)} cookies -> {COOKIES_FILE}")
if __name__ == "__main__":
main()