서비스 테스트에 자주 사용하는 Curl 옵션입니다.
timeout
curl을 옵션없이 사용하면 timeout이 될때까지 상당히 오래 대기합니다.
보통 curl을 통한 테스트는 성공 여부만 확인하면 되기 때문에 timeout을 지정하면 해당 시간이 지나면 timeout으로 처리합니다.
$ curl -m 3 192.168.0.1
curl: (28) Connection timed out after 3002 milliseconds
DNS resolution을 명시적으로 주기
보통 ingress의 경우 여로 host를 서비스 하는 경우도 있습니다.
이때 DNS 설정이 되지 않은 IP에 대해서 명시적으로 dns resolution을 지정해 줄 수 있습니다.
$ curl --resolve test.agic.contoso.com:80:20.20.20.20 http://test.agic.contoso.com
<html>
<head><title>502 Bad Gateway</title></head>
<body>
<center><h1>502 Bad Gateway</h1></center>
<hr><center>Microsoft-Azure-Application-Gateway/v2</center>
</body>
</html>
특정 Method 테스트 하기
테스트 목적으로 특정 Method의 응답 여부를 확인할 때가 있습니다.
이 경우 -X
옵션을 사용할 수 있습니다.
curl -X OPTIONS "https://url.com/default.css"
Status code 확인하기
response body가 아닌 status code 자체를 확인해야 하는 경우가 있습니다.
예를 들어, 네트워크 장비에서 health probe 를 하는데 이 경우 2xx~3xx 의 응답이 아닌 경우 실패로 간주 합니다.
보통은 프로세스가 정상적인 경우에 다음 액션으로 실제 응답을 확인해야하는 상황이 있습니다.
curl -w " - status code: %{http_code}" "http://url.com/"
bearer 토큰 지정
인증이 필요한 서비스에 대한 호출은 헤더로 토큰 값을 같이 넘겨야 하는 경우가 있습니다.
이 경우 아래와 같이 지정할 수 있습니다.
TOKEN=xxx
$ curl 'https://url.com' -H "Authorization: Bearer $TOKEN"
curl 호출 과정 보기
curl 을 통해 응답만 보는게 아니라 상세한 진행 과정을 확인하고 싶을 때가 있습니다.
tls 관련 이슈에서 사용할 수 있습니다.
이럴 때 -v
옵션을 사용할 수 있습니다.
$ curl -v https://url.com
Redirection 된 페이지 보기
curl을 수행했지만, 페이지가 redirection되는 경우 301 코드만 확인됩니다.
이 경우 아래와 같이 -L
옵션을 사용할 수 있습니다.
$ curl naver.com
<html>
<head><title>301 Moved Permanently</title></head>
<body>
<center><h1>301 Moved Permanently</h1></center>
<hr><center>nginx</center>
</body>
</html>
$ curl -L naver.com
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 162 100 162 0 0 4205 0 --:--:-- --:--:-- --:--:-- 4263
100 138 0 138 0 0 2251 0 --:--:-- --:--:-- --:--:-- 2251
<!doctype html> <html lang="ko" class="fzoom"> <head> <meta charset="utf-8"> <meta name="Referrer" content="origin"> <meta http-equiv="X-UA-Compa
tible" content="IE=edge"> <meta name="viewport" content="width=1190"> <title>NAVER</title>
...
curl로 파일 다운 받기
curl 실제 파일을 다운받아야 하는 경우가 있습니다. wget을 사용할 수 도 있습니다.
이때 -O
옵션을 사용합니다.
curl -o http://url.com/default.css a.css # 지정된 파일명으로 다운
curl -O http://url.com/default.css # 파일명 그대로 다운
'기타' 카테고리의 다른 글
CKA 취득 후기 (2025년 2월 18일 리뉴얼) (0) | 2025.03.22 |
---|---|
KCNA, KCSA 후기 (0) | 2025.02.25 |
VS Code를 markdown editor로 사용하기 (0) | 2025.02.06 |
VS Code에서 REST 테스트 하기 (0) | 2023.11.05 |
wsl: docker, kind 설치 (0) | 2023.11.05 |