Computer Science(CS)

[CS] curl 와 Http 테스트

나무늘보Programmer 2024. 4. 25. 13:07

curl이란?

패킷/메시지를 네트웤로 전송하는 유틸리티다.
HTTP(s)로 GET/POST 등으로 데이터를 전송 할 수 있다.

사용방법

자주 사용되는 옵션

short 형식 long 형식 설명
-k --insecure https 프로토콜에서 SSL 인증서에 대한 검증없이 연결
-i --head HTTP 헤더만 보여주고 컨텐츠는 표시하지 않음
-D --dump-header <file> HTTP 헤더를 file에 기록 (덤프)
-L --location HTTP 301, 302 응답을 받은 경우 리디렉션 URL로 따라간다. 

--max-redirs 옵션 뒤에 숫자로 몇 번의 리디렉션까지 따라갈 것인지를 적을 수 있다.
기본 값은 50이다.
-d --data HTTP POST 요청 데이터 입력
-J --remote-header-name 헤더에 있는 파일 이름으로 다운로드 파일을 저장
-o --output FILE curl로 받아온 내용을 FILE 이라는 이름의 파일로 저장
-O --remote-name 파일 저장시 리모트에 저장되어 있던 이름을 그대로 가져와서 로컬에 저장
-s --silent 진행 내용이나 메시지들을 출력하지 않음
HTTP response code 만 가져오거나 할 경우 유리
-X --request 요청시 사용할 메소드의 종류 (GET, POST, PUT, PATCH, DELETE)
-i --include 응답에 Content 만 출력하지 않고 서버의 Reponse 도 포함해서 출력한다. (디버깅에 유용)
-A --user-agent 서버에 User-Agent <name> 보내기
-u --user 서버 사용자 및 비밀번호
-T --upload-file 로컬 FILE 을 대상으로 전송
-f --fail HTTP 오류 시 자동으로 실패 (출력 없음)
-G   전송할 사이트 url 및 ip 주소
-H   전송할 헤더를 지정
-J --remote-header-name 어떤 웹서비스는 파일 다운로드시 Content-Disposition Header 를 파싱해야 정확한 파일이름을 알 수 있을 경우가 있다. -J 옵션을 주면 헤더에 있는 파일 이름으로 저장한다.
-v --verbose 동작하면서 자세한 헤더 통신 옵션을 출력한다.
-C --continue-at 파일 다운로드 재개

출처: https://inpa.tistory.com/entry/LINUX-📚-CURL-명령어-사용법-다양한-예제로-정리 [Inpa Dev 👨‍💻:티스토리]

HTML 받아오기

URL 주소만 뒤에 주면 알아서 받아온다.(GET)

curl url_you_want

파일 받아오기

curl 뒤에 받아올 파일 url을 넣는다.
--output 은 -o 와 같다. 대문자 -O로 하면 뒤에 파일명 지정할 필요가 없다. 원격지 파일명과 동일한 파일명으로 자동으로 생성한다.

curl file_url -o file_name.zip
curl file_url -O

HTTP 헤더 보기

curl 주소 : 해당 주소의 html content만 출력
curl -i 주소 : 해당 주소의 html 헤더와 content를 모두 출력
cur -I 주소 : 해당 주소의 html 헤더만 출력 (-I는 --head와 같다)

HTTP 인증하기

curl -v -u ID:PASSWORD [주소]

더 많은 내용들을 추가 예정입니다...

참고 자료

 

curl 사용법/HTTP 테스트

curl 사용법 패킷/메시지를 네트웍으로 전송하는 유용한 유틸리티입니다. HTTP/S로 GET/POST 등으로 데이터를 전송할 수 있습니다. 설치 우분투에서 커맨드로 설치 apt-get install curl 바이너리 다운로드

crazyj.tistory.com

 

 

🐧 CURL 명령어 사용법 💯 완전 총정리

Curl (Client URL) curl(client url) 명령어는 프로토콜들을 이용해 URL 로 데이터를 전송하여 서버에 데이터를 보내거나 가져올때 사용하기 위한 명령줄 도구 및 라이브러리이다. 쉽게말해 예를들어 자바

inpa.tistory.com