【问题标题】:How to set user agent in: new XmlSlurper().parse(URL)如何设置用户代理:new XmlSlurper().parse(URL)
【发布时间】:2012-04-17 16:15:14
【问题描述】:

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

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

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

如何设置用户代理?

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

【问题讨论】:

    标签: groovy user-agent xmlslurper


    【解决方案1】:

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

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

    附:这只是一个猜测 - 希望对您有所帮助。

    【讨论】:

      【解决方案2】:

      我看到了第 3 页,顺便说一句,还有 Groovy Http Builder,它使用 JsonSlurper 处理 JSON 结果,但它在发出 http 请求时更加灵活 - http://groovy.codehaus.org/HTTP+Builder

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-06-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多