블로그 이미지
lilla

Recent Comment

Recent Trackback

Archive

calendar

1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        
  • 269,225total
  • 0today
  • 5yesterday
2010. 5. 9. 03:55 linux
cURL
명령행 기반 웹 요청 도구. 특히 REST 애플리케이션을 개발 테스트시에 유용하게 사용할 수 있다.

홈페이지 : http://curl.haxx.se/
cURL Tutorial
GUI 기반으로 REST 애플리케이션 테스트 해보고자 한다면 http://rest-client.googlecode.com/
 

GET
curl -v 기타 옵션 : 디버깅을 위해 요청과 응답 헤더까지 모두 표시
curl http://www.xxx.com : 일반 GET 요청

-I : 헤더만 가져오기
-i : 헤더와 바디까지 가져오기
 

POST
curl -d "param1=xxx¶m2=yyyy¶m3=%20OK%20" www.hotmail.com/when/junki.cgi

URL 인코딩된 파라미터를 앞에 쓰고, 그 뒤에 POST를 처리하는 주소를 넣는다.
파라미터는 무조건 먼저 인코딩 된 상태여야 한다.
POST의 Content-Type 은 application/x-www-form-urlencoded 이다.
 

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

-F 폼필드명=@파일명
-F 폼필드명=폼필드값
Content-Type 은 multipart/form-data
 

PUT
curl -T 업로드할파일명 www.uploadhttp.com/receive.cgi
 

DELETE
curl -X DELETE www.data.com/resources/223

-X 는 요청을 보내는 method를 직접 지정해주는 옵션이다.
 

Authentication
Basic Auth : curl -u username:password www.secrets.com
간단한 Tomcat 컨텍스트 리로드 스크립트

curl -u TomcatAdmin계정:비밀번호 localhost:8080/manager/html/reload?path=/
서버의 인증 방식에 따라 다음 옵션 가능

--ntlm
--digest
--negotiate
--anyauth
프록시 인증 : curl -U proxyuser:proxypassword curl.haxx.se

--proxy-ntlm
--proxy-digest
 

Referer 지정
curl -e http://리퍼러주소 daniel.haxx.se
 

User Agent 지정
curl -A "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)" http://www.rollinglist.com
 

Redirect
curl -L www.somesite.com
curl은 기본적으로 Redirect Header를 무시한다.
-L 을 붙이면 redirect 요청을 따라서 다음 페이지로 간다.
-d/-F 옵션을 통해 POST/PUT 요청등을 보내고 나서 redirect가 실행된다면 첫번째 요청은 POST/PUT으로 처리하고, 리다이렉트는 GET으로 처리한다.
 

Cookies
curl -b "name=Daniel" www.cookiesite.com

Cookie key=value 쌍을 서버로 전송한다.
curl -D headers_and_cookies www.cookiesite.com

headers_and_cookies 파일로 헤더 정보다 모두 저장된다. 헤더 정보에는 쿠키 정보도 포함되어 있다.
curl -b stored_cookies www.cookiesite.com

stored_cookies 파일에 저장된 쿠키 정보를 서버로 전송한다.
curl -b 존재하지않는파일명 -L www.cookiesite.com

서버에서 전송한 쿠키를 리다이렉트하면서 서버측에 재전송한다.
curl -b cookies.txt -c newcookies.txt www.cookiesite.com

-b cookies.txt 는 이미 존재하는 쿠키 파일(Mozilla 호환)을 읽어서 서버에 전송하는 것이고,
-c newcookies.txt 는 새로 새성된 쿠키를 파일로 저장하는 것이다.
 

기타 파라미터
-X 메쏘드

-X 뒤에 지정된 메소드 GET/POST/PUT/DELETE/HEAD/PROPFIND 등으로 요청을 수행한다.
-H "Content-Type: text/xml"

헤더 값을 지정한다.
-H "Host:"

헤더 값을 삭제한다.



------------------------------------------------------------------------------------------
사용예제 .....

// encoding 형태로 변환해서 보내기
curl -d "USER_ID=aaa&PASSWORD=test&HP_NO=01011111111&PROC_DATE=20090311&SERVER_NM=TEST&SMS_MSG=test" http://www.aaa.co.kr/aaa.php3

// 아스키값그대로 보내기
curl --data-ascii "USER_ID=aaa&PASSWORD=test&HP_NO=01011111111&PROC_DATE=20090311&SERVER_NM=TEST&SMS_MSG=한글전송테스트 메세지" http://www.aaa.co.kr/aaa.php3

// https 사용 아스키값그대로 보내기
curl --data-ascii "USER_ID=aaa&PASSWORD=test&HP_NO=01011111111&PROC_DATE=20090311&SERVER_NM=TEST&SMS_MSG=한글전송테스트 메세지" -L -k https://www.aaa.co.kr/aaa.php3
posted by linuxian lilla

댓글을 달아 주세요

  1. Favicon of http://shop.ghdaustraliab.com/ BlogIcon ghd 2013.01.03 19:57  Addr  Edit/Del  Reply

    관리자의 승인을 기다리고 있는 댓글입니다

  2. Favicon of http://www.michaelkorsbagsx.com/ BlogIcon Michael Kors 2013.01.06 19:52  Addr  Edit/Del  Reply

    관리자의 승인을 기다리고 있는 댓글입니다

  3. Favicon of http://www.michaelkorsbagsx.com/ BlogIcon michael kors outlet online 2013.01.09 02:42  Addr  Edit/Del  Reply

    관리자의 승인을 기다리고 있는 댓글입니다

  4. Favicon of http://www.cheapmichaelkorsa.com/ BlogIcon michael kors outlet 2013.01.23 06:14  Addr  Edit/Del  Reply

    관리자의 승인을 기다리고 있는 댓글입니다

  5. Favicon of http://www.tomsshoesoutletsaleb.com/ BlogIcon toms outlet 2013.01.27 01:13  Addr  Edit/Del  Reply

    관리자의 승인을 기다리고 있는 댓글입니다

  6. Favicon of http://www.burberryoutletix.com BlogIcon burberry outlet 2013.03.01 14:56  Addr  Edit/Del  Reply

    관리자의 승인을 기다리고 있는 댓글입니다

  7. Favicon of http://www.ghdhairstraightenefu.com BlogIcon ghd 2013.03.03 21:49  Addr  Edit/Del  Reply

    관리자의 승인을 기다리고 있는 댓글입니다