Notice
Recent Posts
Recent Comments
Link
투케이2K
131. (TWOK/WORK) [업무 정리] [API 호출 테스트] GitBash curl -v 옵션 사용해 Api http 호출 및 핸드셰이킹 , SSL 인증서 상세 확인 테스트 본문
투케이2K 업무정리
131. (TWOK/WORK) [업무 정리] [API 호출 테스트] GitBash curl -v 옵션 사용해 Api http 호출 및 핸드셰이킹 , SSL 인증서 상세 확인 테스트
투케이2K 2025. 1. 18. 10:29[제 목]
[업무 정리] [API 호출 테스트] GitBash curl -v 옵션 사용해 Api http 호출 및 핸드셰이킹 , SSL 인증서 상세 확인 테스트
[내 용]
------------------------------------------------------------------------------
[테스트 사항 및 환경]
------------------------------------------------------------------------------
환경 : 로컬 Window PC / Mac
테스트 사항 : GitBash curl -v 옵션 사용해 Api http 호출 및 핸드셰이킹 , SSL 인증서 상세 확인 테스트
------------------------------------------------------------------------------
------------------------------------------------------------------------------
[설 명]
------------------------------------------------------------------------------
1. 사전) GitBash 가 설치 되어 있지 않은 경우 다운로드 및 설치 진행
2. Git Bash 실행 실시
3. curl 명령어 사용해 api 호출 및 응답 결과 확인 수행
>> 문법 : $ curl [옵션] [요청 주소] [헤더 값]
>> 예시 : $ curl -d '' -v -k -X GET 'https://jsonplaceholder.typicode.com/posts?userId=1&id=1' -H 'Content-Type: application/x-www-form-urlencoded;' -w %{http_code}
-v : http 요청에 대한 상세 로그 확인
-k : https 프로토콜에서 SSL 인증서에 대한 검증없이 연결
-d : http 요청 시 첨부할 데이터
-X : 요청시 사용할 메소드의 종류 (GET, POST, PUT, PATCH, DELETE)
-H : 전송할 헤더를 지정
-w : http 요청 후 response status code 값을 확인
>> 응답 결과 확인 :
* Host jsonplaceholder.typicode.com:443 was resolved. --------------> DNS (도메인 주소를 IP 주소로 변환)
* IPv6: (none)
* IPv4: 104.21.64.1, 104.21.32.1, 104.21.48.1, 104.21.96.1, 104.21.80.1, 104.21.16.1, 104.21.112.1
* Trying 104.21.64.1:443...
* Connected to jsonplaceholder.typicode.com (104.21.64.1) port 443 --------------------> http 연결
* ALPN: curl offers h2,http/1.1
* (304) (OUT), TLS handshake, Client hello (1): ----------------------------------------> 핸드셰이킹
* (304) (IN), TLS handshake, Server hello (2):
* (304) (IN), TLS handshake, Unknown (8):
* (304) (IN), TLS handshake, Certificate (11):
* (304) (IN), TLS handshake, CERT verify (15):
* (304) (IN), TLS handshake, Finished (20):
* (304) (OUT), TLS handshake, Finished (20):
* SSL connection using TLSv1.3 / AEAD-AES256-GCM-SHA384 / [blank] / UNDEF
* ALPN: server accepted h2
* Server certificate: -------------------------------------------------------------> SSL 인증서 확인
* subject: CN=typicode.com
* start date: Dec 16 08:11:58 2024 GMT
* expire date: Mar 16 09:09:40 2025 GMT
* issuer: C=US; O=Google Trust Services; CN=WE1
* SSL certificate verify ok.
* using HTTP/2 ---------------------------------------------------------> HTTP 데이터 송수신 스트림 오픈
* [HTTP/2] [1] OPENED stream for https://jsonplaceholder.typicode.com/posts?userId=1&id=1
* [HTTP/2] [1] [:method: GET]
* [HTTP/2] [1] [:scheme: https]
* [HTTP/2] [1] [:authority: jsonplaceholder.typicode.com]
* [HTTP/2] [1] [:path: /posts?userId=1&id=1]
* [HTTP/2] [1] [user-agent: curl/8.7.1]
* [HTTP/2] [1] [accept: */*]
* [HTTP/2] [1] [content-type: application/x-www-form-urlencoded;]
* [HTTP/2] [1] [content-length: 0]
> GET /posts?userId=1&id=1 HTTP/2 ----------------------------------------------> 클라이언트 http 요청
> Host: jsonplaceholder.typicode.com
> User-Agent: curl/8.7.1
> Accept: */*
> Content-Type: application/x-www-form-urlencoded;
> Content-Length: 0
>
* Request completely sent off
< HTTP/2 200 -------------------------------------------------------------------> 서버 http 응답 반환
< date: Sat, 18 Jan 2025 01:17:28 GMT
< content-type: application/json; charset=utf-8
< content-length: 308
< report-to: {"group":"heroku-nel","max_age":3600,"endpoints":[{"url":"https://nel.heroku.com/reports?ts=1737076300&sid=e11707d5-02a7-43ef-b45e-2cf4d2036f7d&s=kP8Cw9moaj12QDDoknffu9AtGRV7fxoVkFT9g3zBRbk%3D"}]}
< reporting-endpoints: heroku-nel=https://nel.heroku.com/reports?ts=1737076300&sid=e11707d5-02a7-43ef-b45e-2cf4d2036f7d&s=kP8Cw9moaj12QDDoknffu9AtGRV7fxoVkFT9g3zBRbk%3D
< nel: {"report_to":"heroku-nel","max_age":3600,"success_fraction":0.005,"failure_fraction":0.05,"response_headers":["Via"]}
< x-powered-by: Express
< x-ratelimit-limit: 1000
< x-ratelimit-remaining: 999
< x-ratelimit-reset: 1737076330
< vary: Origin, Accept-Encoding
< access-control-allow-credentials: true
< cache-control: max-age=43200
< pragma: no-cache
< expires: -1
< x-content-type-options: nosniff
< etag: W/"134-QtF0EaiifRh1Z3cEspXIXV0RoQY"
< via: 1.1 vegur
< cf-cache-status: HIT
< age: 1652
< accept-ranges: bytes
< server: cloudflare
< cf-ray: 903abede290a5bfa-NRT
< alt-svc: h3=":443"; ma=86400
< server-timing: cfL4;desc="?proto=TCP&rtt=35154&min_rtt=35118&rtt_var=9940&sent=6&recv=9&lost=0&retrans=0&sent_bytes=2929&recv_bytes=631&delivery_rate=82093&cwnd=144&unsent_bytes=0&cid=583d7dddcf385d33&ts=81&x=0"
<
[
{
"userId": 1,
"id": 1,
"title": "sunt aut facere repellat provident occaecati excepturi optio reprehenderit",
"body": "quia et suscipit\nsuscipit recusandae consequuntur expedita et cum\nreprehenderit molestiae ut ut quas totam\nnostrum rerum est autem sunt rem eveniet architecto"
}
* Connection #0 to host jsonplaceholder.typicode.com left intact
]200
------------------------------------------------------------------------------
------------------------------------------------------------------------------
[참고 사이트]
------------------------------------------------------------------------------
https://git-scm.com/
https://kkh0977.tistory.com/4446
------------------------------------------------------------------------------
반응형
'투케이2K 업무정리' 카테고리의 다른 글
Comments