【发布时间】:2016-06-08 17:55:13
【问题描述】:
我正在尝试使用 Groovy HTTPBuilder 设置连接超时,但我终其一生都找不到方法。
使用普通的 ol' URL 很容易:
def client = new URL("https://search.yahoo.com/search?q=foobar")
def result = client.getText( readTimeout: 1 )
这会引发 SocketTimeoutException,但这不是我想要的。出于各种原因,我宁愿使用 HTTPBuilder 或更好的 RESTClient。
这确实有效:
def client = new HTTPBuilder()
def result = client.request("https://search.yahoo.com/", Method.GET, "*/*") { HttpRequest request ->
uri.path = "search"
uri.query = [q: "foobar"]
request.getParams().setParameter("http.socket.timeout", 1);
}
但是 request.getParams() 已被弃用。
在我的一生中,我找不到将适当的 RequestConfig 注入构建器的方法。
【问题讨论】:
-
你试过了吗:
client.client.params.setParameter("http.socket.timeout", 1000) -
我自己最近需要这个并且遇到了这个:gist.github.com/axeda/5189102
-
设置参数效果很好。但是,该方法已被弃用。 HTTPBuilder 似乎还没有现代化。
标签: groovy httpbuilder