Edit: @ChessSpider heeft een integration geschreven dat precies datgene doet waarvoor ik deze topic was begonnen: Link Bedankt hiervoor
Ik probeer een python script te schrijven waarmee ik een bezoekersauto kan aanmelden op de website van de gemeente. Mijn doel is dat als homeassistant detecteerd dat mijn schoonmoeder op bezoek is met de auto (dit deel lukt goed), deze auto automatische word aangemeld.
Waar ik tegen aan loop is dat het wel lijkt te lukken om in te loggen. (response code 200 en een heleboel persoonlijk info als je session.text print). Maar als in probeer de auto aan te melden (regel 17-20) krijg ik response code 401.
Wat ik al gevonden of geprobeerd heb:
- er lijken geen cookies te worden ontvangen ofzo, login.cookies geeft <RequestsCookieJar[]>
- dit automatisch aanmelden lukt wel als ik selenium gebruik, maar dat wil ik liever niet.
- de payload die ik verstuur is verkregen door de json uit developertools in firefox te kopieren als ik het met de hand inlog.
- Ik denk niet dat het met de tijden te maken heeft, die heb ik express een beetje in de toekomst gelegd.
Wat me verder opvalt is dat alle veel gemeente dezelfde /DVSportal/ gebruiken, maar het is me niet gelukt om hier iets van documentatie te vinden.
Zoals misschien uit het codeblock wel duidelijk heb ik nagenoeg geen verstand van programmeren en ik probeer maar wat. Het spijt me als het gewoon iets heel doms is of als wat ik probeer niet kan ofzo.
EDIT:
Iemand met veel meer kennis heeft dit al eens gemaakt. Zie: https://github.com/tcoenraad/python-dvsportal
Ik probeer een python script te schrijven waarmee ik een bezoekersauto kan aanmelden op de website van de gemeente. Mijn doel is dat als homeassistant detecteerd dat mijn schoonmoeder op bezoek is met de auto (dit deel lukt goed), deze auto automatische word aangemeld.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
| import requests import json LOGIN_URL = "https://aanvraagparkeren.groningen.nl/DVSWebAPI/api/login" END_URL = "https://aanvraagparkeren.groningen.nl/DVSWebAPI/api/reservation/end" CREATE_URL = "https://aanvraagparkeren.groningen.nl/DVSWebAPI/api/reservation/create" session = requests.Session() session.headers = {'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/114.0'} # inloggen payload = {"identifier": "geheim", "loginMethod": "Pas", "password": "geheim", "otp": None, "resetCode": None, "asIdentifier": None, "zipCode": None, "permitMediaTypeID": 1} response = session.post(LOGIN_URL, data=payload) print(f"Status code na login: {response.status_code}") aanmeldpayload = {"DateFrom": "2023-08-01T15:57:00.000+02:00", "DateUntil": "2023-08-01T23:59:00.000+02:00", "LicensePlate": {"Value": "geheim", "Name": "abc"}, "permitMediaTypeID": 1, "permitMediaCode": "geheim"} aanmelden = session.post(CREATE_URL, data=aanmeldpayload) print(f"Status code after 'aanmelden': {aanmelden.text}") |
Waar ik tegen aan loop is dat het wel lijkt te lukken om in te loggen. (response code 200 en een heleboel persoonlijk info als je session.text print). Maar als in probeer de auto aan te melden (regel 17-20) krijg ik response code 401.
Wat ik al gevonden of geprobeerd heb:
- er lijken geen cookies te worden ontvangen ofzo, login.cookies geeft <RequestsCookieJar[]>
- dit automatisch aanmelden lukt wel als ik selenium gebruik, maar dat wil ik liever niet.
- de payload die ik verstuur is verkregen door de json uit developertools in firefox te kopieren als ik het met de hand inlog.
- Ik denk niet dat het met de tijden te maken heeft, die heb ik express een beetje in de toekomst gelegd.
Wat me verder opvalt is dat alle veel gemeente dezelfde /DVSportal/ gebruiken, maar het is me niet gelukt om hier iets van documentatie te vinden.
Zoals misschien uit het codeblock wel duidelijk heb ik nagenoeg geen verstand van programmeren en ik probeer maar wat. Het spijt me als het gewoon iets heel doms is of als wat ik probeer niet kan ofzo.
EDIT:
Iemand met veel meer kennis heeft dit al eens gemaakt. Zie: https://github.com/tcoenraad/python-dvsportal
[ Voor 5% gewijzigd door Völliglosgelöst op 09-10-2023 20:45 ]