groovy - 如何在 : new XmlSlurper(). parse(URL) 中设置用户代理

标签 groovy user-agent xmlslurper

我正在使用 Groovy/XmlSlurper 向 Web 服务发起请求:

new XmlSlurper().parse("http://en.wikipedia.org/w/api.php?action=...")

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

如何设置用户代理?

  • XMLSlurper's constructors没有这样的东西。
  • setProperty method听起来很有趣,但 Google 并没有带来任何与 UA 相关的内容。
  • 我宁愿避免更改代码以放弃 XmlSlurper 而转而使用另一个库。

最佳答案

看起来 Groovy 使用 JVM 的默认 SAX 解析器连接到输入流并执行初始解析。我看到了这个answer所以这可能会有所帮助 - 您需要做的就是在调用 slurper 之前设置它以使其发生:

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

附注这只是一个猜测 - 希望它有所帮助。

关于groovy - 如何在 : new XmlSlurper(). parse(URL) 中设置用户代理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10186524/

相关文章:

grails - 动态namedQueries

grails - 在 Grails 中将 xml 转换为域对象

java - 具有 TagSoup 和不间断空格值的 Groovy XmlSlurper

variables - 如何将参数或参数传递到 Gradle 任务中?

java - 如何在Grails的脚手架 View 中显示ID列?

css - 出于 CSS 目的将电视检测为客户端浏览器的所有可能方法

css - 基于用户代理加载不同的 .css - GWT 元素

node.js - 使用 Node.js 的 Express 进行 SEO

groovy - 如何使用soapUI MockService 的外部响应文件的相对路径

azure - 在 groovy 脚本中访问 Azure 管道构建信息