-
12.08.2021, 10:13 #1
Hallo,
meine HTTP-Anfragen liefern immer 403 Forbidden Fehler. Ob ich curl oder wget benutze, macht keinen Unterschied. Woran liegt das, wie kann ich es lösen?
-
12.08.2021, 13:28 #2
- Registriert seit
- 15.11.2011
- Beiträge
- 7.858
- Blog Entries
- 5
Thanked 9.363 Times in 3.202 PostsFunktioniert der Zugriff auf die jeweilige Seite im Browser, fehlt wahrscheinlich etwas in deiner Anfrage, die du mit wget/curl sendest. In den meisten Fällen eines oder mehrere der folgenden Dinge. Zur Ermittlung mancher Werte kann es hilfreich sein, die Anfrage einmal im Browser durchzuführen und mit den Entwicklertools (F12) die Header anzuschauen, welche der Browser sendet.
User-Agent
Enthält Informationen über deinen Browser und das Betriebssystem, auf dem er läuft. Dieser Header ist zwar optional. Aber manche Seiten prüfen ihn und erlauben/verbieten bestimmte User-Agenten. Standardmäßig sendet curl hier "curl/7.64.0" mit entsprechender Version, sodass die Seiten leicht prüfen können ob z.B. curl darin vor kommt und die Anfragen dann ablehnen.
Um das zu lösen, sendet man einen echten User-Agenten eines Browsers: Zum Beispiel whatmyuseragent.com aufrufen, der User-Agent kopieren und in curl wie folgt setzen
Code:curl -A "Mozilla/5.0 (X11; Linux x86_64; rv:90.0) Gecko/20100101 Firefox/90.0" "https://u-labs.de"
Dieser Header enthält die Herkunftsseite, beispielsweise bei Klicks auf einen Link. Wie der User-Agent ist auch dieser Header optional. Manche Seiten prüfen ihn aber und erlauben nur bestimmte Seiten. Am einfachsten schaut man in der Browserkonsole, was als Referer Header gesetzt ist und übergibt dies an curl:
Code:curl --referer "https://u-labs.de/forum" "https://u-labs.de"
Sind bestimmte Inhalte nur für angemeldete Benutzer verfügbar, gibt es zwei Möglichkeiten:
1. Basic-Authentifizierung
Sofern es die Seite unterstützt, können wir einfach --user benutzername:passwort übergeben.
2. Login-Anfrage senden
Alternativ müssen wir die (i.d.R. POST) Abfrage zum Logik absenden, die Cookies speichern und für unsere Anfrage wiederverwenden (siehe unten).
Cookies/Sitzungen
Teils werden auch bestimmte Cookies benötigt. Dies können statische Cookies sein, aber auch Sitzungen. Letztere meist eingeloggt, teils auch auch ohne. Einzelne Cookies können mit --cookie a=b übergeben werden. Falls wir einen Login brauchen, ermitteln wir im Browser welche Formularfelder gesendet werden müssen und speichern die Cookies:
Code:curl -c cookie.txt curl -X POST -F 'user=test' -F 'password=123' https://example.com/login
Code:curl -b cookie.txt https://example.com
Weitere Tipps
Das sind die gängigsten Probleme, die bei curl Anfragen auftreten und einen 403 Fehler erzeugen können. Sollte die Anfrage dennoch nicht funktionieren, empfehle ich einen Vergleich der Header von curl mit denen des Browsers. Dazu folgende Parameter nutzen:
Code:curl -s -D - -o /dev/null https://u-labs.de
Falls weitere Header gesetzt werden müssen, kann man dies mit -H name:Wert an curl weitergeben.
-
The Following 2 Users Say Thank You to DMW007 For This Useful Post:
-
13.08.2021, 13:34 #3
Bei der Seite die ich aufrufen wollte, wurde anscheinend curl als Useragent blockiert. Alles andere hat funktioniert, selbst wenn ich dort nur Chrome oder Firefox rein schreibe (also nur das Wort, ohne den richtigen String von den Browsern). Danke für die ausführliche Antwort :)
Neuste Community-Posts
- Warum die Linke aus dem Nichts vor allem im Internet erfolgreich geworden ist
- Microsoft startet Upgrade-Zwang auf umstrittenes Windows 11 24H2
- Microsoft: Schmeißt eure Windows 10 PCs endlich weg!
- Linux auf Facebook gesperrt: Die Macht der kommerziellen Sozialen Netzwerke
- Kaputte Windows 11 ISOs: Microsoft lässt euch mit gefährlichem Problem alleine
- Bahnreisende dürfen kein Taschenmesser mitnehmen - Messerverbot in Zügen und Bahnhöfen!
- Auto Kauf nur welches ?
- Geld anlegen in Gold/Silber
- 144€: Der 16GB Raspberry Pi 5 ist da
- Zukünftige Probleme im Gesundheits- und Notfallsystem. Auswirkungen des Fachkräftemangel.
- Nah an der lückenlosen Überwachung
- neue Waschmaschine, worauf achten
- Zuviele Überstunden?
- Elektromüll: Die große Recycling-Lüge, an die wir alle glauben
- Wie schädlich ist Alkohol
- Die Bundesregierung schafft bezahlbaren Wohnraum.
- Tebartz-van Elst kommt durch
- Werbung in Windows eskaliert: Wie Microsof dich zweimal abkassiert
- eBay Bewertungen sind nutzlos geworden
- Mogelpackung - Schrumpflation - Shrinkflation
Diese Seite nutzt Cookies, um das Nutzererlebnis zu verbessern. Klicken Sie hier, um das Cookie-Tracking zu deaktivieren.