소스를 얻으려는 웹사이트를 공유할 수 있는지 확실하지 않지만 더 나은 설명이 필요하다고 생각합니다. 사전에 그렇지 않았다면 사과드립니다.
주문하다:
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 출력이 이미 압축되었다고 가정하면압축을 푼다.
바이너리 컬 출력 확인
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개의 응답 헤더를 얻습니다. 첫 번째는 리디렉션에서 발생하고 두 번째는 최종 출력에서 발생합니다.
- 파이프를 통해
type
이진 데이터 형식(파일 형식)을 확인합니다 .
curl -k -L -s https://www.mi.com | type
- 사용
-o
또는--output
파일에 저장:
curl -k -L -s https://www.mi.com -o outFile
바이너리 출력 전달(예: 이미지 뷰어로)
또한 파이프를 사용하여 응답 헤더에 표시된 이미지를 Content-Type: image/x-icon
표준 입력을 허용하는 뷰어에 전달할 수도 있습니다 feh
.
curl -k -L -s https://www.mi.com/favicon.ico | feh
컬 출력 압축 풀기
바이너리 출력은 다음과 같은 결과일 수 있습니다.HTTP 압축일반적으로 대역폭을 절약하고 전송 속도를 높이는 데 사용됩니다.
- 파이프로
zcat
직접 압축을 풀고 확인하세요:
curl -k -L -s https://www.mi.com | zcat
컬의 출력이 예상대로 압축되지 않으면 다음 경고가 표시됩니다.
gzip: stdin: gzip 형식이 아님
~처럼Teden 대화형 설명.
- 사용
--compressed
:
curl -k -L -s https://www.mi.com --compressed
~처럼스티븐이 대답했다.