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?
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 --raw
dieses Problem lösen, ist auch verbose mode ( -v
) nützlich und -i
zeigt 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.
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
HTTP/1.0
Es ist nicht
curl
, aber es sollte auf fast allen Unices verfügbar sein:Wenn Sie die Statusmeldungen stören:
Wenn Sie CRLF-Zeilenenden möchten:
quelle
\r\n
Zeichen in der Antwort erhalten bleiben ?\r\n
einem 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.Unter Debian / Ubuntu gehört Distribution zum Paket
lwp-request
.quelle