Wenn ich requests benutzte, funktioniert alles einwandfrei:
Code: Alles auswählen
import requests
url = 'https://www.zeit.de/news/2020-01/01/deutsche-handballer-starten-in-direkte-em-vorbereitung'
response = requests.get(url)
Code: Alles auswählen
import aiohttp
import asyncio
url = 'https://www.zeit.de/news/2020-01/01/deutsche-handballer-starten-in-direkte-em-vorbereitung'
async def main():
async with aiohttp.ClientSession(cookie_jar=aiohttp.CookieJar()) as session:
async with session.get(url) as resp:
print(resp.status)
print(await resp.text())
loop = asyncio.get_event_loop()
loop.run_until_complete(main())
Nun sollte man doch so eine Fehlermeldung nur erhalten, wenn der Cookie in der GET-Anfrage im Header nicht definiert ist, allerdings ist er dort laut:Um zeit.de nutzen zu können, müssen Cookies in Ihrem Browser aktiviert sein.
Code: Alles auswählen
resp.request_info.headers
Code: Alles auswählen
<CIMultiDictProxy('Host': 'www.zeit.de', 'Accept': '*/*', 'Accept-Encoding': 'gzip, deflate', 'User-Agent': 'Python/3.7 aiohttp/3.6.2', 'Cookie': 'creid=1675121728160225997')>
Nun frage ich mich, wie das requests genau macht, weil wenn ich dort mit
Code: Alles auswählen
response.request.headers
Code: Alles auswählen
{'User-Agent': 'python-requests/2.21.0', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive'}
Hat jemand eine Idee, was ich hier übersehe?