2017-10-22 6 views
1
verboten

Ich versuche, eine MP4-Datei von dieser Website herunterladen, aber es funktioniert nicht, weil es Fehler zeigt 403 verboten, wenn ich den Link:aiohttp zeigt Fehler 403

Das ist, was ich zu versuchen, und laden Sie die Dateien:

async with aiohttp.ClientSession() as cs: 
    async with cs.get('https://cdn-e1.streamable.com/video/mp4/kphjz.mp4') as r: 
     if r.status == 200: 
      img = await r.read() 
      with open('C:/xxxx/xxxx/xxxx/xxxx/Streamables/' + url.split('/')[-1], 'wb') as f: 
       f.write(img) 
       f.close() 
       print('Downloaded {0}'.format(url.split('/')[-1])) 

Es tut nichts, weil r.status nicht gleich 200 aber 403. Wie kann ich das umgehen?

+0

[403] (https://httpstatuses.com/403) bedeutet, dass Sie nicht berechtigt sind, auf die URL zuzugreifen. Wenn Sie diese URL im Webbrowser öffnen, erhalten Sie die gleiche Fehlermeldung. Sie benötigen wahrscheinlich HTTP-Authentifizierungsheader, um auf diese URL zugreifen zu können. –

Antwort

1

Ich habe es herausgefunden. Sieht aus wie ich diese verwendet haben sollte:

async with aiohttp.ClientSession(headers={"Referer": "https://streamable.com"}) as cs: 

die headers={"Referer": "https://streamable.com"} Teil benötigt.