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
.