HTTP Builder / Groovy - 获取源文本_和_ XmlSlurper输出?

时间:2010-06-03 19:16:56

标签: java groovy httpbuilder

我在这里读到: http://groovy.codehaus.org/modules/http-builder/doc/get.html

我似乎能够得到

i)由NekoHTML使用以下方法解析的XMLSlurper输出:

def http = new HTTPBuilder('http://www.google.com') 
def html = http.get( path : '/search', query : [q:'Groovy'] )

ii)使用原始文本:

http.get( path : '/search',
          contentType : TEXT,
          query : [q:'Groovy'] ) { resp, reader ->          
  println "response status: ${resp.statusLine}"
  println 'Headers: -----------'
  resp.headers.each { h ->
  println " ${h.name} : ${h.value}"
  }
  println 'Response data: -----'
  System.out << reader
  println '\n--------------------'
}

我遇到了一些麻烦,想要 BOTH (i)和(ii)在我得到的实际html上调试我的XmlSlurper代码。

我有什么建议可以这样做吗?

我可以使用parseString(string)方法或parse(reader)方法轻松地使用相关字符串实例化XmlSlurper对象,但我似乎无法使Neko处理步骤正确。

任何提示?

谢谢! 米莎

1 个答案:

答案 0 :(得分:3)

好的,这是。

计算出: http://groovy.codehaus.org/Testing+Web+Applications

def html=http.get(uri:'http://www.google.com',contentType:groovyx.net.http.ContentType.TEXT) { resp,reader ->
  def s=reader.text
  new File("temp.html")<<s
  new XmlSlurper(new org.cyberneko.html.parsers.SAXParser()).parseText(s)          
}

谢谢! 米莎