当前位置: 软件>java软件
HTTPBuilder
本文导语: 如果熟悉HttpClient,那么你对 HTTPBuilder就不会感到陌生,它是对前者的封装,使之更符合Groovy的使用惯例。下面的例子摘自HTTPBuilder的文档,它充分展示 了自己的特点: import groovyx.net.http.HTTPBuilderimport static groovyx.net.http.Method.GETi...
如果熟悉HttpClient,那么你对 HTTPBuilder就不会感到陌生,它是对前者的封装,使之更符合Groovy的使用惯例。下面的例子摘自HTTPBuilder的文档,它充分展示 了自己的特点:
import groovyx.net.http.HTTPBuilder
import static groovyx.net.http.Method.GET
import static groovyx.net.http.ContentType.TEXT
def http = new HTTPBuilder( 'http://www.google.com/search' )
http.request(GET,TEXT) { req ->
uri.path = '/mail/help/tasks/'
headers.'User-Agent' = 'Mozilla/5.0'
//请求成功
response.success = { resp, reader ->
assert resp.statusLine.statusCode == 200
println "My response handler got response: ${resp.statusLine}"
println "Response length: ${resp.headers.'Content-Length'}"
System.out
println 'Not found'
}
// 401
http.handler.'401' = { resp ->
println "Access denied"
}
//其他错误,不实现则采用缺省的:抛出异常。
http.handler.failure = { resp ->
println "Unexpected failure: ${resp.statusLine}"
}
}
无需过多的讲解,上述的例子已经非常明白地说明了HTTPBuilder的基本使用。尽管如此,对于上例中的内容类型(即request括号中的 TEXT),还是有必要啰嗦几句。HTTPBuilder支持对响应内容的自动解析,解析的方式可在请求中指定,缺省除了TEXT之外,还支持XML、 HTML和JSON。如果在请求中不指定解析方式,那么它会根据响应的内容类型选择最合适的方式进行解析。对于每一种内容类型:
- TEXT,纯文本
- XML,采用XmlSlurper解析内容
- HTML,先采用NekoHTML使HTML 规范化,之后采用XmlSlurper解析DOM
- JSON,采用JSON-lib解析内容
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。