2012-04-17 90 views
2

我使用Groovy/XmlSlurper發起請求到Web服務:如何設置用戶代理:新的XmlSlurper()解析(URL)

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

我想設置用戶代理,讓網站知道請求來自哪個項目。

如何設置用戶代理?

  • XMLSlurper's constructors沒有這樣的東西。
  • setProperty method聽起來很有趣,但Google不會導致與UA有關的任何事情。
  • 我寧願避免更改代碼以放棄XmlSlurper而轉而使用其他庫。

回答

2

看起來像Groovy使用JVM的默認SAX解析器連接到輸入流並執行初始解析。我看到這個answer上,這樣可以幫助 - 所有你需要做的調用slurper之前將其設置爲做到這一點:

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

附:這只是一個猜測 - 希望它有幫助。