""" 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()