Here is my code Why is it giving this error even though my payload is correct. Before this, i was not including ‘xsrf-token’ and it was giving ‘Page Expired’ as the response.
JavaScript
x
18
18
1
import requests
2
from requests import Session
3
session = Session()
4
data = {"type":"Advanced","eingabe":'null',"filters":{"classifications":["Gymnasium - SEK I -"],"lschb":[],"towns":[],"countys":[],"regions":[],"features":[],"bbs_classifications":[],"bbs_occupations":[],"bbs_orientations":[],"plz":0,"oeffentlich":"on","privat":"on"}}
5
6
r = session.get('https://schulen.nibis.de/school/search')
7
xsrf=r.cookies['XSRF-TOKEN']
8
HEADERS = {'user-agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36',
9
'x-xsrf-token':xsrf,
10
'x-requested-with': 'XMLHttpRequest',
11
'content-type': 'application/json;charset=UTF-8',
12
'x-inertia': 'true',
13
'x-inertia-version': '207fd484b7c2ceeff7800b8c8a11b3b6',
14
'accept-encoding': 'gzip, deflate, br',
15
'accept-language': 'en-US,en;q=0.9,hi-IN;q=0.8,hi;q=0.7,ur-IN;q=0.6,ur;q=0.5,ko-KR;q=0.4,ko;q=0.3'}
16
res = session.post('https://schulen.nibis.de/school/search',json=data,headers = HEADERS)
17
print(res.json())
18
The response I am receiving.
JavaScript
1
3
1
{'message': 'The payload is invalid.', 'exception': 'Illuminate\Contracts\Encryption\DecryptException', 'file': '/srv/www/vhosts/schulen/vendor/laravel/framework/src/Illuminate/Encryption/Encrypter.php', 'line': 195, 'trace': [{'file': '/srv/www/vhosts/schulen/vendor/laravel/framework/src/Illuminate/Encryption/Encrypter.php', 'line': 136, 'function': 'getJsonPayload', 'class': 'Illuminate\Encryption\Encrypter', 'type': '->'}, {'file': '/srv/www/vhosts/schulen/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php', 'line': 155, 'function': 'decrypt', 'class': 'Illuminate\Encryption\Encrypter', 'type': '->'}, {'file': '/srv/www/vhosts/schulen/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php', 'line': 137, 'function': 'getTokenFromRequest', 'class': 'Illuminate\Foundation\Http\Middleware\VerifyCsrfToken', 'type': '->'}, {'file': '/srv/www/vhosts/schulen/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php', 'line': 75, 'function': 'tokensMatch', 'class': 'Illuminate\Foundation\Http\Middleware\VerifyCsrfToken', 'type': '->'}, {'file': '/srv/www/vhosts/schulen/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php', 'line': 167, 'function': 'handle', 'class': 'Illuminate\Foundation\Http\Middleware\VerifyCsrfToken', 'type': '->'}, {'file': '/srv/www/vhosts/schulen/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php', 'line': 49, 'function': 'Illuminate\Pipeline\{closure}', 'class': 'Illuminate\Pipeline\Pipeline', 'type': '->'}, {'file': '/srv/www/vhosts/schulen/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php', 'line': 167, 'function': 'handle', 'class': 'Illuminate\View\Middleware\ShareErrorsFromSession', 'type': '->'}, {'file': '/srv/www/vhosts/schulen/vendor/laravel/framework/src/Illuminate/Session/Middleware/AuthenticateSession.php', 'line': 39, 'function': 'Illuminate\Pipeline\{closure}', 'class': 'Illuminate\Pipeline\Pipeline', 'type': '->'}, {'file': '/srv/www/vhosts/schulen/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php', 'line': 167, 'function': 'handle', 'class': 'Illuminate\Session\Middleware\AuthenticateSession', 'type': '->'}, {'file': '/srv/www/vhosts/schulen/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php', 'line': 121, 'function': 'Illuminate\Pipeline\{closure}', 'class': 'Illuminate\Pipeline\Pipeline', 'type': '->'}, {'file': '/srv/www/vhosts/schulen/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php', 'line': 63, 'function': 'handleStatefulRequest', 'class': 'Illuminate\Session\Middleware\StartSession', 'type': '->'}, {'file': '/srv/www/vhosts/schulen/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php', 'line': 167, 'function': 'handle', 'class': 'Illuminate\Session\Middleware\StartSession', 'type': '->'}, {'file': '/srv/www/vhosts/schulen/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php', 'line': 37, 'function': 'Illuminate\Pipeline\{closure}', 'class': 'Illuminate\Pipeline\Pipeline', 'type': '->'}, {'file': '/srv/www/vhosts/schulen/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php', 'line': 167, 'function': 'handle', 'class': 'Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse', 'type': '->'}, {'file': '/srv/www/vhosts/schulen/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php', 'line': 67, 'function': 'Illuminate\Pipeline\{closure}', 'class': 'Illuminate\Pipeline\Pipeline', 'type': '->'}, {'file': '/srv/www/vhosts/schulen/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php', 'line': 167, 'function': 'handle', 'class': 'Illuminate\Cookie\Middleware\EncryptCookies', 'type': '->'}, {'file': '/srv/www/vhosts/schulen/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php', 'line': 103, 'function': 'Illuminate\Pipeline\{closure}', 'class': 'Illuminate\Pipeline\Pipeline', 'type': '->'}, {'file': '/srv/www/vhosts/schulen/vendor/laravel/framework/src/Illuminate/Routing/Router.php', 'line': 693, 'function': 'then', 'class': 'Illuminate\Pipeline\Pipeline', 'type': '->'}, {'file': '/srv/www/vhosts/schulen/vendor/laravel/framework/src/Illuminate/Routing/Router.php', 'line': 668, 'function': 'runRouteWithinStack', 'class': 'Illuminate\Routing\Router', 'type': '->'}, {'file': '/srv/www/vhosts/schulen/vendor/laravel/framework/src/Illuminate/Routing/Router.php', 'line': 634, 'function': 'runRoute', 'class': 'Illuminate\Routing\Router', 'type': '->'}, {'file': '/srv/www/vhosts/schulen/vendor/laravel/framework/src/Illuminate/Routing/Router.php', 'line': 623, 'function': 'dispatchToRoute', 'class': 'Illuminate\Routing\Router', 'type': '->'}, {'file': '/srv/www/vhosts/schulen/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php', 'line': 166, 'function': 'dispatch', 'class': 'Illuminate\Routing\Router', 'type': '->'}, {'file': '/srv/www/vhosts/schulen/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php', 'line': 128, 'function': 'Illuminate\Foundation\Http\{closure}', 'class': 'Illuminate\Foundation\Http\Kernel', 'type': '->'}, {'file': '/srv/www/vhosts/schulen/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php', 'line': 21, 'function': 'Illuminate\Pipeline\{closure}', 'class': 'Illuminate\Pipeline\Pipeline', 'type': '->'}, {'file': '/srv/www/vhosts/schulen/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php', 'line': 167, 'function': 'handle', 'class': 'Illuminate\Foundation\Http\Middleware\TransformsRequest', 'type': '->'}, {'file': '/srv/www/vhosts/schulen/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php', 'line': 21, 'function': 'Illuminate\Pipeline\{closure}', 'class': 'Illuminate\Pipeline\Pipeline', 'type': '->'}, {'file': '/srv/www/vhosts/schulen/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php', 'line': 167, 'function': 'handle', 'class': 'Illuminate\Foundation\Http\Middleware\TransformsRequest', 'type': '->'}, {'file': '/srv/www/vhosts/schulen/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php', 'line': 27, 'function': 'Illuminate\Pipeline\{closure}', 'class': 'Illuminate\Pipeline\Pipeline', 'type': '->'}, {'file': '/srv/www/vhosts/schulen/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php', 'line': 167, 'function': 'handle', 'class': 'Illuminate\Foundation\Http\Middleware\ValidatePostSize', 'type': '->'}, {'file': '/srv/www/vhosts/schulen/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php', 'line': 87, 'function': 'Illuminate\Pipeline\{closure}', 'class': 'Illuminate\Pipeline\Pipeline', 'type': '->'}, {'file': '/srv/www/vhosts/schulen/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php', 'line': 167, 'function': 'handle', 'class': 'Illuminate\Foundation\Http\Middleware\PreventRequestsDuringMaintenance', 'type': '->'}, {'file': '/srv/www/vhosts/schulen/vendor/fruitcake/laravel-cors/src/HandleCors.php', 'line': 37, 'function': 'Illuminate\Pipeline\{closure}', 'class': 'Illuminate\Pipeline\Pipeline', 'type': '->'}, {'file': '/srv/www/vhosts/schulen/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php', 'line': 167, 'function': 'handle', 'class': 'Fruitcake\Cors\HandleCors', 'type': '->'}, {'file': '/srv/www/vhosts/schulen/vendor/fideloper/proxy/src/TrustProxies.php', 'line': 57, 'function': 'Illuminate\Pipeline\{closure}', 'class': 'Illuminate\Pipeline\Pipeline', 'type': '->'}, {'file': '/srv/www/vhosts/schulen/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php', 'line': 167, 'function': 'handle', 'class': 'Fideloper\Proxy\TrustProxies', 'type': '->'}, {'file': '/srv/www/vhosts/schulen/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php', 'line': 103, 'function': 'Illuminate\Pipeline\{closure}', 'class': 'Illuminate\Pipeline\Pipeline', 'type': '->'}, {'file': '/srv/www/vhosts/schulen/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php', 'line': 141, 'function': 'then', 'class': 'Illuminate\Pipeline\Pipeline', 'type': '->'}, {'file': '/srv/www/vhosts/schulen/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php', 'line': 110, 'function': 'sendRequestThroughRouter', 'class': 'Illuminate\Foundation\Http\Kernel', 'type': '->'}, {'file': '/srv/www/vhosts/schulen/public/index.php', 'line': 52, 'function': 'handle', 'class': 'Illuminate\Foundation\Http\Kernel', 'type': '->'}]}
2
[Finished in 5.5s]
3
Advertisement
Answer
you need to decode xsrf before pass it in headers
JavaScript
1
19
19
1
import urllib.parse
2
import requests
3
from requests import Session
4
session = Session()
5
data = '{"type":"Advanced","eingabe":null,"filters":{"classifications":["Gymnasium - SEK I -"],"lschb":[],"towns":[],"countys":[],"regions":[],"features":[],"bbs_classifications":[],"bbs_occupations":[],"bbs_orientations":[],"plz":0,"oeffentlich":"on","privat":"on"}}'
6
r = session.get('https://schulen.nibis.de/school/search')
7
8
xsrf=urllib.parse.unquote(r.cookies['XSRF-TOKEN'])
9
HEADERS = {'user-agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36',
10
'x-xsrf-token':xsrf,
11
'x-requested-with': 'XMLHttpRequest',
12
'content-type': 'application/json;charset=UTF-8',
13
'x-inertia': 'true',
14
'x-inertia-version': '207fd484b7c2ceeff7800b8c8a11b3b6',
15
'accept-encoding': 'gzip, deflate, br',
16
'accept-language': 'en-US,en;q=0.9,hi-IN;q=0.8,hi;q=0.7,ur-IN;q=0.6,ur;q=0.5,ko-KR;q=0.4,ko;q=0.3'}
17
res = session.post('https://schulen.nibis.de/school/search', data=data, headers=HEADERS)
18
print(res.json())
19