사전 준비사항
- 새로운 clojure 프로젝트를 생성한다.
- clj-http 모듈 사용을 위해서 project.clj 파일의 dependencies 부분에 아래와 같이 추가해준다. (버전은 참고사이트에서 최신 버전을 확인하자)
(defproject projectname "0.1.0-SNAPSHOT" :description "FIXME: write description" :url "http://example.com/FIXME" :license {:name "Eclipse Public License" :url "http://www.eclipse.org/legal/epl-v10.html"} :dependencies [ [org.clojure/clojure "1.6.0"] [clj-http "2.2.0"] ])
기본 HTTP 요청하기 예제
(require '[clj-http.client :as client]) (client/get "http://httpbin.org/ip") (println "done")
POST 요청하기 예제
(require '[clj-http.client :as client]) (println (client/post "http://httpbin.org/post" {:body "{\"text\": \"test string\"}" :headers {"Content-Type" "application/json"}})) (println "done")
응답
client/get 혹은 client/post를 호출했을 때, 응답은 다음과 같은 형식이 되며 실제 HTML은 :body ~ 부분에 오게된다.
{:orig-content-encoding .., :trace-redirects .., :request-time .., :status .., :headers {"Server" .., "Via" .., .. }, :body .. }
:body 부분만 추출하기 위해서는 아래와 같이 호출하면 된다.
(:body (client/get "http://httpbin.org/ip"))
참고 사이트
<테스트 환경> - OS : Windows 7 - Leiningen 버전 : 1.0.0
'1. 연구 모듈 > Lisp - Clojure' 카테고리의 다른 글
[Lisp/Clojure] Clojure에서 커맨드 파라미터 처리 (0) | 2017.02.11 |
---|---|
[Lisp/Clojure] default template 프로젝트 app template 프로젝트로 변환하기 (0) | 2017.01.03 |
[Lisp/Clojure] 비 Eclipse 프로젝트 Eclipse에서 Import하기 (0) | 2016.12.22 |
[Lisp/Clojure] Clojure 개발 환경 구축 - 2. Eclipse 사용 (0) | 2016.10.03 |
[Lisp/Clojure] Clojure 개발 환경 구축 - 1. Leiningen 사용 (0) | 2016.09.30 |