컬을 사용하여 바이너리 출력을 얻는 이유는 무엇입니까?

컬을 사용하여 바이너리 출력을 얻는 이유는 무엇입니까?

소스를 얻으려는 웹사이트를 공유할 수 있는지 확실하지 않지만 더 나은 설명이 필요하다고 생각합니다. 사전에 그렇지 않았다면 사과드립니다.

주문하다: curl -k -L -s https://www.mi.com

어떤 이유로 출력은 이진 데이터이고 다음 오류가 발생합니다.

Warning: Binary output can mess up your terminal. Use "--output -" to tell
Warning: curl to output it to your terminal anyway, or consider "--output
Warning: <FILE>" to save to a file.

페이지의 HTML 소스 코드를 읽는 방법은 무엇입니까? 감사해요!

답변1

반환된 데이터는압축, curl다음 명령을 추가하여 직접 압축 해제를 처리 할 수 있습니다.--compressed옵션:

curl -k -L -s --compressed https://www.mi.com

답변2

파일로 리디렉션하면 파일이 무엇인지 조사할 수 있습니다.

curl -k -L -s https://www.mi.com > outFile

이제 다음 file명령을 사용하여 outFile포함된 내용을 확인할 수 있습니다.

$ file outFile 
outFile: gzip compressed data, from Unix, original size modulo 2^32 135402

방금 압축된 데이터를 다운로드했습니다. 보려면 압축을 푸세요.

mv outFile outFile.gz ## gzip requires the .gz extension
gunzip outFile.gz

아니면 다음과 같이 압축된 데이터를 처리할 수 있는 도구를 사용하세요 zmore.

zmore outFile

또는 zcat:

zcat outFile

답변3

Use "--output -" to tell Warning: curl to output it to your terminal anyway

그림

curl -k -L --output - s https://www.mi.com

또는 --output file다음과 같은 파일에 저장하십시오.

curl -k -L --output filename s https://www.mi.com

그리고 원하는 편집기를 사용하여 파일을 확인하세요.

답변4

어떤 형식인지 모르신다면바이너리 출력더 안전할까요출력 형식 확인첫 번째.

그렇지 않으면 이미 사용하고 있는 것처럼 -s배치/자동화 스크립트와 같은 자동 모드에 대해 다음을 수행할 수 있습니다.파이프를 통해 직접 연결됨적합한 바이너리 변환기로.

또는 HTTP 출력이 이미 압축되었다고 가정하면압축을 푼다.

바이너리 컬 출력 확인

  1. 사용-I응답 헤더만 보고 Content-지정된 헤더 보기매체 유형(또한 ~으로 알려진MIME 유형)는 (바이너리) 형식을 나타냅니다.
curl -k -L -s https://www.mi.com -I

예를 들어 curl -k -L -s https://www.mi.com -I | grep Content-인코딩(예: UTF-8), 바이트 길이(여기서는 리디렉션 후 169747바이트)와 같은 추가 출력 메타데이터도 표시됩니다.

콘텐츠 유형: 텍스트/html

콘텐츠 길이: 223

컨텐츠 타입:텍스트/html;문자셋=utf-8

콘텐츠 길이: 169747

참고: 위의 HTTP 요청은 리디렉션되어 컬에서 2개의 응답과 2개의 응답 헤더를 얻습니다. 첫 번째는 리디렉션에서 발생하고 두 번째는 최종 출력에서 ​​발생합니다.

  1. 파이프를 통해 type이진 데이터 형식(파일 형식)을 확인합니다 .
curl -k -L -s https://www.mi.com | type
  1. 사용-o또는--output파일에 저장:
curl -k -L -s https://www.mi.com -o outFile

유사> outFileterdon이 제안한 리디렉션.

바이너리 출력 전달(예: 이미지 뷰어로)

또한 파이프를 사용하여 응답 헤더에 표시된 이미지를 Content-Type: image/x-icon표준 입력을 허용하는 뷰어에 전달할 수도 있습니다 feh.

curl -k -L -s https://www.mi.com/favicon.ico | feh

컬 출력 압축 풀기

바이너리 출력은 다음과 같은 결과일 수 있습니다.HTTP 압축일반적으로 대역폭을 절약하고 전송 속도를 높이는 데 사용됩니다.

  1. 파이프로zcat직접 압축을 풀고 확인하세요:
curl -k -L -s https://www.mi.com | zcat

컬의 출력이 예상대로 압축되지 않으면 다음 경고가 표시됩니다.

gzip: stdin: gzip 형식이 아님

~처럼Teden 대화형 설명.

  1. 사용--compressed:
curl -k -L -s https://www.mi.com --compressed

~처럼스티븐이 대답했다.

관련 정보