컬 표준 출력을 파일로 리디렉션하지 않고 HTTP 요청의 컬 진행률 측정기를 얻는 방법은 무엇입니까?

컬 표준 출력을 파일로 리디렉션하지 않고 HTTP 요청의 컬 진행률 측정기를 얻는 방법은 무엇입니까?

내가 달릴 때

curl example.com > example.html

터미널에서 내가 얻는 진행률 표시기는 다음과 같습니다.

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed

  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100  1256  100  1256    0     0   1950      0 --:--:-- --:--:-- --:--:--  1947
100  1256  100  1256    0     0   1950      0 --:--:-- --:--:-- --:--:--  1947

~에 따르면https://curl.se/docs/manpage.html이 메시지가 표시되려면 컬 stdout을 파일로 리디렉션해야 합니다. "HTTP POST 또는 PUT 요청에 대한 진행률 측정기를 원하는 경우 쉘 리디렉션(>), --output 또는 이와 유사한 기능을 사용하여 응답 출력을 파일로 리디렉션해야 합니다."

curl example.com 2> progress.txt

에는 데이터가 없습니다 progress.txt. 그러므로 나는 달려야한다

curl example.com > example.html 2> progress.txt

컬 표준 출력을 파일로 리디렉션하지 않고 진행률 표시기에 액세스하는 방법은 무엇입니까?

답변1

데이터를 다른 프로그램으로 전송하면 진행률 표시기가 나타납니다. 기본

curl example.com | cat

작동하지만 결과가 길어지면 문서에 언급된 문제가 발생하게 됩니다.

그것장애를 입히다진행률 측정기, 그렇지 않으면 출력 믹싱 진행률 측정기와 응답 데이터가 엉망이 됩니다.

이를 방지하려면 sponge(from더 많은 유틸리티, 대부분의 배포판에서 사용 가능):

curl example.com | sponge

관련 정보