Der einfachste Weg, eine rohe, nicht analysierte HTTPS-Antwort zu erhalten


39

Was wäre der einfachste Weg, um eine GET-Anfrage über HTTPS an eine URL zu richten und die rohe, nicht analysierte Antwort zu erhalten?

Könnte dies mit Curl erreicht werden? Wenn ja, welche Optionen müssten Sie verwenden?

Antworten:


51

Wenn Sie verwenden möchten curl, sollte dies funktionieren:

curl -D - https://www.google.com/

Beachten Sie jedoch, dass dies nicht genau die rohe Antwort ist. Beispielsweise wird die Chunked-Transfer-Codierung in der Antwort nicht angezeigt . Wenn Sie --rawdieses Problem lösen, ist auch verbose mode ( -v) nützlich und -izeigt die Überschriften vor dem Antworttext an:

curl -iv --raw https://www.google.com/

Wenn Sie einen Pager wie less für das Ergebnis verwenden möchten, müssen Sie auch den Fortschrittsbalken ( -s) deaktivieren :

curl -ivs --raw https://www.google.com/ | less

Je nachdem, was Sie tun möchten, kann dies ein Problem sein oder auch nicht.

Sie erhalten alle HTTP-Antwortheader und das Dokument unter der angeforderten URL.


13

Hier ist eine einfache Möglichkeit, die mir in den Sinn kommt

echo 'GET / HTTP/1.1
Host: google.com

' | openssl s_client -quiet -connect google.com:443 2>/dev/null

Beachten Sie, dass einige Server (z. B. github.com) nur mitHTTP/1.0
— Steven Penny

4

Es ist nicht curl, aber es sollte auf fast allen Unices verfügbar sein:

wget -S --spider https://encrypted.site

Wenn Sie die Statusmeldungen stören:

wget -S --spider https://encrypted.site 2>&1 | awk '/^  /'

Wenn Sie CRLF-Zeilenenden möchten:

wget -S --spider https://encrypted.site 2>&1 | awk '/^  / { sub(/$/,"\r"); print }'

Wissen Sie, ob dadurch die \r\nZeichen in der Antwort erhalten bleiben ?
— Eichel

@Acorn - Zunächst werden nicht alle Webserver mit \r\neinem Zeilenende antworten . Ich glaube nicht, dass es dadurch in jedem Fall erhalten bleibt, aber wenn es Ihnen wichtig ist, füge ich einen Weg hinzu, dieses Ergebnis in die Antwort zu bringen.
— Chris Down

1
$ GET -e https://www.google.com

Unter Debian / Ubuntu gehört Distribution zum Paket lwp-request.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.