# 결과를 지정한 이름으로 파일에 저장
$ curl -o response.txt https://www.example.net
# 결과를 파일이름으로 저장, index.html 이 저장됨
$ curl -O https://www.example.net/index.html
# SSL증명서 에러 무시
$ curl -k https://www.example.net
# 진척상황을 표시 하지 않기, 에러도 표시되지 않음
$ curl -s -o response.txt http://www.example.net
# 에러메시지는 보고 싶을때
$ curl -sS -o response.txt http://www.example.net
# progress bar로 진척상황표시
$ curl -# -O http://www.example.net/index.html
# proxy이용시
$ curl -x <proxyip>:<port> --proxy-user <username>:<password> http://www.example.net
$ curl -x <username>:<password>@<proxyip>:<port> http://www.example.net
# 301/302등의 redirect를 자동인식
$ curl -L http://www.example.net
# http의 메소드를 지정
$ curl -X [PUT|GET|POST] http://www.example.net
# parameter를 POST로 송신
$ curl -w '\n' 'http://www.example.net/posturl' -X POST --data 'name=myname&mode=create'
# status code만 출력
$ curl -sS -w '%{http_code}\n' http://www.example.net
# http의 response header를 확인
# -I 는 헤더만, -i는 body도 출력
$ curl -I http://www.example.net
# http 자세한 정보를 볼때, request header를 확인 할 때 필요
$ curl -v http://www.example.net
# http의 packet data까지 확인이 필요할때
# --trace는 binary, --trace-ascii는 텍스트, --trace-time은 시간표시
$ curl -sS http://www.example.net -X POST -F "test=data" --trace.log trace.log -o /dev/null
$ curl -sS http://www.example.net -X POST -v -F "test=data" --trace-ascii trace-ascii.log -o /dev/null
# reqeust의 결과만 확인
$ curl -s http://www.example.net -o /dev/null -w '%{http_code}¥n'
# DDoS 부하시험
$ for((;;)) { curl -v --header "Connection: keep-alive" "http://www.example.net";}
# 전송속도 제한
# k, m, g등을 이용
$ curl --limit-rate [10k|1m,1g] http://www.example.net
# 수신한 쿠키를 저장
$ curl -c cookie.txt http://www.example.net
# 저장한 쿠키를 송신
$ curl -b cookie.txt http://www.example.net
# 최대접속시간제한을 설정
$ curl --connect-timeout 600 http://www.example.net
# User-Agent를 지정
$ curl -s -w '%{http_code}\n' https://www.amazon.co.jp/dp/B00JEYPPOE/ -o /dev/null
503
$ curl -s -w '%{http_code}\n' https://www.amazon.co.jp/dp/B00JEYPPOE/ -o /dev/null -A ''
200
# Header를 지정
$ curl -H "Host: www.example.net" -k https://<IP address>
쓸일이 있을까 ?
# 범위지정
$ curl 'http://{one,two,three}.example.net'
$ curl 'http://[1-3].example.net
댓글
댓글 쓰기