allをダウンロードして、target/dependenciesのjarとhttp-builder自体のjarをlibへコピっと。
Basic認証して、htmlを取得するサンプル。
取得したhtmlはxmlSlurperへ変換し操作しやすいように。
- import groovyx.net.http.*
- import static groovyx.net.http.Method.*
- import static groovyx.net.http.ContentType.*
- // basic認証用にbase64したID/Passを作成
- def testBytes = "user:pass".getBytes("ISO-8859-1")
- def encoded=testBytes.encodeBase64()
- def http = new HTTPBuilder("http://hogehoge.jp/requiredBasicAuth")
- http.headers=["Authorization":"Basic ${encoded}"]
- try {
- http.get(contentType:TEXT) { resp, reader ->
- def page = new XmlSlurper(new org.cyberneko.html.parsers.SAXParser()).parseText(reader.text)
- def data = page.depthFirst()
- data.each { println it }
- }
- } catch(Exception e) {
- println "auth failure"
- }
headerの調整とかpost指定とかなしで、簡単にとりたいだけだったら、上のCyberNekoのSlurperを使っている所を使うと簡単
- def page = new XmlSlurper(new org.cyberneko.html.parsers.SAXParser()).parse("http://www.google.co.jp")
- def data = page.depthFirst()
- data.each { println it }
こんだけでオッケー!
getのオプションで使う query がうまく動かなかったのが気になる所・・・
0 件のコメント:
コメントを投稿