einen schoenen Herrentag an alle Herren.
Ich halte mich vom Saufgelage in den Parks fern und code lieber ein bisschen am freien Tag (;
Zum Problem:
Ich versuche die Cookies von einer Website zu bekommen, um mich darauf einzuloggen.
Besonders die PHPSESSID ist natuerlich wichtig.
Leider bekomme ich leere RequestsCookieJar von der Login-Seite.
Lese ich die Cookies ueber das "Netzwerkanalysetool" des Browsers aus und gebe die beim .post mit, komme ich rein.
Hier der Code:
Code: Alles auswählen
#!/usr/bin/env python3
# -*- encoding: utf-8 -*-
import requests as req
# manuelle Hinzugabe
# cookies = {
# 'CSRF_TOKEN': '37e087719c8e3f1e8a9ca0ae28fec3dc',
# 'io': 'f4Vk7DHLKM0lOwxoEGnO',
# 'PHPSESSID': '0bbspu6l0qaku1e6u37s21bdqv'}
# email = ...
# password = ...
# payload = {
# 'login-email': email,
# 'login-password': password}
with req.Session() as session:
url = 'https://.../?page=login'
get_infos = session.get(url)
print(get_infos.status_code)
print(get_infos.headers)
print(get_infos.cookies)
print(session.cookies)
########Output#########
# get_infos.status_code
200
# get_infos.headers, manuell "schoen gemacht"
{'Server': 'nginx/1.14.2',
'Content-Type': 'text/html; charset=UTF-8',
'Transfer-Encoding': 'chunked',
'Connection': 'keep-alive',
'X-Frame-Options': 'DENY',
'X-Content-Type-Options': 'nosniff',
'Content-Security-Policy': "default-src 'none'; script-src 'self' 'unsafe-inline' 'unsafe-eval'; connect-src
'self' wss://....de https://sentry.io https://photon.komoot.de https://maps.geoapify.com https://search.mapzen.com blob: ws:; img-src
'self' data: https: blob:; style-src 'self' 'unsafe-inline'; font-src
'self' data:; frame-src 'self'; frame-ancestors 'none'; worker-src
'self' blob:; child-src
'self' blob:;",
'Cache-Control': 'no-cache, private',
'Date': 'Thu, 21 May 2020 09:33:53 GMT',
'Strict-Transport-Security': 'max-age=31536000; includeSubDomains',
'Content-Encoding': 'gzip'
}
# get_infos.cookies
<RequestsCookieJar[]>
# session.cookies
<RequestsCookieJar[]>
Ist die Seite vielleicht "geschuetzt"?
Kann jemand was aus den Header-Infos herauslesen, dass ich da etwas anders machen muss?
Interessanterweise bekomme ich im Header keine 'set-cookie': 'PHPSESSID'
Ueber die "Netzwerkanalyse" finde ich diese allerdings in den get-Cookies...
Hier mal die "Anfragekopfzeilen1+2" eines get-cookies zum favicon.ico:
Code: Alles auswählen
1:
HTTP/2 200 OK
server: nginx/1.14.2
date: Thu, 21 May 2020 08:13:20 GMT
content-type: image/x-icon
content-length: 1150
last-modified: Sat, 02 May 2020 16:35:54 GMT
etag: "5eada16a-47e"
expires: Thu, 04 Jun 2020 08:13:20 GMT
cache-control: max-age=1209600
strict-transport-security: max-age=31536000; includeSubDomains
accept-ranges: bytes
X-Firefox-Spdy: h2
2:
Host:....de
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:76.0) Gecko/20100101 Firefox/76.0
Accept: image/webp,*/*
Accept-Language: de,en-US;q=0.7,en;q=0.3
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Cookie: pushNotificationBannerClosed=true; CSRF_TOKEN=37e087719c8e3f1e8a9ca0ae28fec3dc; io=f4Vk7DHLKM0lOwxoEGnO
Bei anderen Websites bekomme ich da sofort cookies...
Ich bedanke mich recht herzlich im Voraus
Liebe Grueße
3cosystem