Command-curl

배병진·2023년 5월 2일
5

Linux

목록 보기
2/17

CURL 사용법

curl [options]

  • Curl의 명령어는 Curl Package를 설치 후 사용이 가능하므로 설치 후 작업을 하여야 한다.
  • Curl은 URL을 대상으로 동작한다.
[options]
-k : https 프로톸ㄹ에서 SSL 인증서에 대한 검증 없이 연결
-i : HTTP 헤더만 보여주고 컨텐츠는 표시하지 않음
-D : HTTP 헤더를 file에 기록(dump)
-L : HTTP301, 302 응답을 받을 경우 리디렉션 URL로 따라간다. 기본 50번의 리디렉션까지 따라간다.
-d : HTTP POST 요청 데이터 입력
-v : 동작하면서 세세한 내용 출력
-J : 헤더에 있는 파일 이름으로 다운로드 파일을 저장
-o : curl로 받아온 내용을 FILE이라는 이름의 파일로 저장
-O : 파일 저장 시 리모트에 저장되어 있던 이름을 그대로 가져와서 로컬에 저장
-s : 진행 내용이나 메시지들을 출력하지 않는다
-X : 요청시 사용할 메소드의 종류(GET,POST,PUT,PATCH,DELETE)
-i : 응답에 Content만 출력하지 않고 서버의 Reponse도 포함해서 출력한다.
-A : 서버에 User-Agent<name> 보내기
-u : 서버 사용자 및 비밀번호
-T : 로컬 FILE을 대상으로 전송
-f : HTTP 오류 시 자동으로 실패
-G : 전송할 사이트 url 및 ip주소
-H : 전송할 헤더를 지정
-J : 어떤 웹서비스는 파일 다운로드 시 Content-Disposition Header를 파싱해야 정확한 파일 이름을 확인 가능한데
해당 옵션은 헤더에 있는 파일 이름으로 저장한다.
-C : 파일 다운로드 재개

GET 요청

  • 아무 옵션을 지정하지 않은 경우 기본 GET으로 동작
  • 기본 HTTP 프로토콜로 설정되어있다
# curl www.google.com
# curl -X GET www.example.com

POST 요청

  • -d 옵션으로 body 파라미터를 앞에 쓰고, 그 뒤에 POST를 처리하는 주소를 넣는다.
  • 파라미터는 무조건 인코딩 된 상태여야 한다.
  • 기본 Content-Type : application/x-www-form-urlencoded
# url 형식 데이터\
# curl -d "key1=value1&key2=value2" \
  ## -d 옵션으로 body 데이터를 기재
-H "Content-Type: application/x-www-form-urlencoded" \
  ## -H 옵션으로 전송할 헤더 지정 (디폴트 : application/x-www-form-urlencoded)
-X POST http://localhost:8000/data 
  ## -X 옵션으로 POST 메소드 지정하고 요청할 url명시

파라미터 값 파일로 지정해서 보내기

# curl -d "@jin.txt" -X POST http://localhost:3000/data

PUT 요청

$ curl -X PUT -d 'name=inpa&email=inpa@gmail.com' http://localhost:8080/user/100
$ curl -X PUT -H "Content-Type: application/json" -d '{"name":"inpa","email":"inpa@gmail.com"}' http://localhost:8080/user/100

파일명으로 PUT

# curl -T filename.txt http://www.example.com/dir/

파일 업로드

# curl -F upload=@파일명 -F press=OK www.xxx.com/blog/post.cgi

출력을 파일에 저장

-o 미리 정의된 파일 이름을 사용하여 파일을 저장
-O 파일을 원래 파일 이름으로 저장
-o 옵션과 함계 curl 명령어를 실행하면 다운로드에 대한 진행률 표시기가 표시됨.
  

gettext.html 페이지가 mygettext.html 이라는 파일에 저장

# curl -o mygettext.html http://www.gnu.org/software/gettext/manual/gettext.html

로컬 시스템에 gettext.html 이라는 파일 자체에 내용이 저장

# curl -O http://www.gnu.org/software/gettext/manual/gettext.html

출력 재지정 연산자로 파일 저장

# curl http://www.gnu.org/software/gettext/manual/gettext.html > mygettext.html

HTTP 인증 전달

# curl -u username:password www.google.com

헤더 정보

# curl -i google.com > 헤더와 본문
# curl -I google.com > 헤더만 보기

요청사항 상세히 보기

# curl -V www.google.com
profile
history and study

0개의 댓글