파싱되지 않은 원시 HTTPS 응답을 얻는 가장 간단한 방법 GET 요청을하고

HTTPS를 통해 URL에 GET 요청을하고 파싱되지 않은 원시 응답을 얻는 가장 간단한 방법은 무엇입니까?

컬로 이것을 달성 할 수 있습니까? 그렇다면 어떤 옵션을 사용해야합니까?



답변

을 사용하려면 다음 curl과 같이 작동합니다.

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

그러나 이것은 정확히 원시 응답이 아닙니다. 예를 들어 청크 분할 전송 인코딩 은 응답에 표시되지 않습니다. 이를 사용하면 --raw자세한 모드 ( -v)도 유용 -i하며 응답 본문 앞에 헤더를 표시합니다.

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

결과에서 덜 사용하는 호출기를 사용하려면 진행률 표시 줄 ( -s) 을 비활성화해야합니다 .

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

원하는 작업에 따라 문제가 될 수도 있고 아닐 수도 있습니다.

당신이 얻는 것은 모든 HTTP 응답 헤더와 요청 된 URL의 문서입니다.


답변

생각 나는 간단한 방법이 있습니다.

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

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


답변

그렇지 curl는 않지만 거의 모든 Unices에서 사용할 수 있어야합니다.

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

상태 메시지가 귀찮은 경우 :

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

CRLF 줄 끝을 원한다면 :

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


답변

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

데비안 / 우분투에서 배포판은 패키지에 속합니다 lwp-request.


답변