notebookvb
This commit is contained in:
@@ -0,0 +1,69 @@
|
||||
"""
|
||||
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()
|
||||
Reference in New Issue
Block a user