如何设置用户代理:new XmlSlurper()。parse(URL)

时间:2012-04-17 06:53:58

标签: groovy user-agent xmlslurper

我正在使用Groovy/XmlSlurper

向网络服务发起请求
new XmlSlurper().parse("http://en.wikipedia.org/w/api.php?action=...")

我想设置用户代理,让网站知道请求来自哪个项目。

如何设置用户代理?

  • XMLSlurper's constructors没有这样的内容。
  • setProperty method听起来很有趣,但Google不会导致与UA相关的任何内容。
  • 我宁愿避免更改代码以放弃XmlSlurper而转而使用其他库。

2 个答案:

答案 0 :(得分:2)

看起来Groovy使用JVM的默认SAX解析器连接到输入流并执行初始解析。我在SO上看到这个answer可能有所帮助 - 你需要做的就是在你召唤之前设置这个来实现它:

System.setProperty("http.agent", "my-agent-name");

P.S。这只是一个猜测 - 希望它有所帮助。

答案 1 :(得分:0)

我看到p.3,顺便说一下,还有Groovy Http Builder,它使用JsonSlurper获取JSON结果,但它更灵活地发出http请求 - http://groovy.codehaus.org/HTTP+Builder