curl에는 --write-out (-w) 이란 옵션이 있는데 요청/응답에 관한 많은 정보를 출력해볼 수 있음.

 

기본적으로 응답에 걸린 시간을 알아보고 싶을 경우, 아래처럼 요청하면 응답완료까지 걸린 시간이 초단위로 밀리세컨드까지 출력됨.

[root@bloodguy:/]# curl -s -o /dev/null -w %{time_total}\\n https://www.google.com
0.283

 

--write-out 에는 변수가 상당히 많은데 %{var_name} 형태로 포맷을 지정해서 사용하면 됨.

 

근데 원하는 변수가 많을수록 커맨드라인이 지저분해짐.

그래서 파일에 미리 포맷을 입력해놓고 파일로 출력포맷을 읽어들일 수도 있음.

 

아래처럼 파일을 만들어서 myformat.txt 라는 파일로 저장해놓고,

(라인 끝의 \n 은 따로 입력해줘야 줄바꿈이 됨에 주의)

namelookup:    %{time_namelookup}\n
connect:       %{time_connect}\n
appconnect:    %{time_appconnect}\n
pretransfer:   %{time_pretransfer}\n
redirect:      %{time_redirect}\n
starttransfer: %{time_starttransfer}\n
--------------------------------------\n
total:         %{time_total}\n

 

아래처럼 -w 옵션에 @파일명을 지정하고 실행하면 저장한 포맷대로 출력됨.

[root@bloodguy:/]# curl -s -o /dev/null -w @my_format.txt https://www.google.com
namelookup:    0.001
connect:       0.031
appconnect:    0.159
pretransfer:   0.159
redirect:      0.000
starttransfer: 0.266
--------------------------------------
total:         0.275

 

 

참고: https://everything.curl.dev/usingcurl/verbose/writeout

 

 

 

Posted by bloodguy
,