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
'Computer Science(CS)' 카테고리의 다른 글
[CS-Linux] 리눅스 시스템 모니터링 명령어 (1) | 2024.04.25 |
---|---|
[CS-Linux] systemd, systemctl 그리고 chmod, chown (0) | 2024.04.25 |
[CS] nslookup, ping, talnet 그리고 tracert (0) | 2024.04.25 |
[CS] SSH 와 ifconfig (0) | 2024.04.25 |
[용어] 프로그래밍 용어 정리 (0) | 2024.04.01 |