gpt4 book ai didi

java - Groovy:向 URL 发送请求,忽略结果

转载 作者:搜寻专家 更新时间:2023-11-01 02:15:25 24 4
gpt4 key购买 nike

在 groovy 中,有没有办法向 URL 发送请求,而忽略响应?主要目的是在更短的时间内向服务器发送更多请求。

由于结果对我来说不重要,一旦发送请求,我不希望脚本在继续之前等待响应。

这是我当前的脚本:

(1..50).each { element->
def url = "http://someUrl"
url.toURL().text
}

在这段代码中,text 方法必须加载整个响应,我并不关心这个。重要的部分是发送请求,等待响应并不重要。

有没有类似的send方法? (沿着..

url.toURL().send

或者,是否有一种“常规”方式可以使用 GPARS 并行运行循环来加快速度?

最佳答案

对于仅发送 URL,您可以只使用 withInputStreamwithReader 方法发送请求而不读取文本。这只会创建一个处理程序来读取将立即关闭的传入文本。

至于 GPars,你可以只使用 withPoolcallAysnc 的组合来创建一个线程池来并发执行请求。例如:

@Grab(group='org.codehaus.gpars', module='gpars', version='0.12')
import static groovyx.gpars.GParsExecutorsPool.withPool

withPool(50) {
50.times {
Closure callUrl = {"http://google.com".toURL().withReader {}}
callUrl.callAsync();
}
}

但是,如果您不关心线程的数量,您可以在没有 GPar 的情况下创建自己的线程。例如:

50.times { 
Closure callUrl = {"http://google.com".toURL().withReader {}}
Thread.start callUrl
}

关于java - Groovy:向 URL 发送请求,忽略结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7396621/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com