#:g1: s-http-clientの紹介

Posted 2014-01-07 15:00:00 GMT

(LISP Library 365参加エントリ)

 LISP Library 365 の8日目です。

s-http-clientとはなにか

 s-http-clientはその名の通りhttpのクライアントです。
CLiKiの解説を見る限りでは、現在LispWorksのみサポートとのことですが、一応他のプラットフォームでも動くようではあります。

パッケージ情報

パッケージ名s-http-client
Quicklisp
CLiKihttp://cliki.net/s-http-client
Quickdocshttp://quickdocs.org/s-http-client

インストール方法

(ql:quickload :s-http-client)

試してみる

 どんな関数があるかは、Quickdocsで確認できます。

 Allegro CLのnet.aserve.client:do-http-request風の名前のdo-http-requestがメインだと思いますが、多言語対応がされている様子もなく、それでいてバイナリで結果が取得できる訳でもない様子なので、日本語メインで利用するには若干厳しいようです(UTF-8ページならOK)

(s-http-client:do-http-request "http://atnd.org/events/46706")
;=>  "<!DOCTYPE html>
;    <html lang="ja" class="no-js">
;    <head>
;    <meta charset="utf-8">
;    <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
;    <meta name="csrf-param" content="authenticity_token"/>
;    <meta name="csrf-token" content="YtPMUQ5Uv2zf0twfQNyAifGLbntIf3x1L6V&#47;4sr7+RA="/>
;    <link rel="shortcut icon" href="/favicon.ico" />
;    <link rel="stylesheet" href="/stylesheets/import.css" type="text/css" media="screen" />
;    <script charset="utf-8" src="/javascripts/jquery-1.5.min.js?1372621180" type="text/javascript"></script>
;    <script charset="utf-8" src="/javascripts/jquery-ui-1.8.7.custom.min.js?1372621180" type="text/javascript"></script>
;    <script charaset="utf-8" src="/javascripts/jquery_ujs.js?1372621180" type="text/javascript"></script>
;    <script charset="utf-8" src="/javascripts/application.js?1372621180" type=
...
;    200
;    ((:DATE . "Wed, 01 Jan 2014 00:42:17 GMT") (:SERVER . "Apache")
;     (:X-UA-COMPATIBLE . "IE=Edge,chrome=1")
;     (:ETAG . ""fe776f09c793ee46f0200d0aa7c1cae4"")
;     (:CACHE-CONTROL . "max-age=0, private, must-revalidate")
;     (:X-RUNTIME . "0.437050") (:STATUS . "200")
;     (:VARY . "User-Agent,Accept-Encoding") (:CONTENT-LENGTH . "53521")
;     (:CONTENT-TYPE . "text/html; charset=utf-8")
;     (:SET-COOKIE
;      . "_atnd_rails3_session=BAh7CSILbG9jYWxlIgpqYS1KUCIPc2Vzc2lvbl9pZCIlMTBiOGM1ZmE4NGNhODIwN2VkZTE4NjEyM2VjMjdlNjgiEF9jc3JmX3Rva2VuIjFZdFBNVVE1VXYyemYwdHdmUU55QWlmR0xibnRJZjN4MUw2Vi80c3I3K1JBPSIOcmV0dXJuX3RvIhIvZXZlbnRzLzQ2NzA2--55cb8ef892c6885b7220bcff5848a31ea6a7fd98; path=/; HttpOnly")
;     (:P3P
;      . "CP="NON DSP COR CURa ADMa DEVa CUSo TAIa PSDo OUR BUS UNI COM NAV STA""))
;    #<PURI:URI http://atnd.org:80/events/46706>
;    :NEW

まとめ

 今回は、s-http-clientを紹介してみました。
Drakma以外にももう一つ位httpクライアントがあると検証作業等で便利なので、何かあると良いですね。

comments powered by Disqus