Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在java中每分钟运行数百个http请求_Java_Httpurlconnection - Fatal编程技术网

在java中每分钟运行数百个http请求

在java中每分钟运行数百个http请求,java,httpurlconnection,Java,Httpurlconnection,我正在用J2SE开发一个应用程序,它将定期访问大量网站。 高意味着几百次,通常意味着每分钟——因此,每分钟大约有500次http请求 我的问题是,J2SE中是否有我应该注意的限制?例如,http请求池很差,我应该使用第三方应用程序来实现这一点,或者存在某种缓冲区,这可能会减慢速度,等等 谢谢, krisy您应该找到一个专门针对这种流量的http客户端库。我认为内置程序不适合如此大量的请求。Apache httpClient可能是一个候选 我所知道的关于java.net http客户端的限制是围绕

我正在用J2SE开发一个应用程序,它将定期访问大量网站。 高意味着几百次,通常意味着每分钟——因此,每分钟大约有500次http请求

我的问题是,J2SE中是否有我应该注意的限制?例如,http请求池很差,我应该使用第三方应用程序来实现这一点,或者存在某种缓冲区,这可能会减慢速度,等等

谢谢,
krisy

您应该找到一个专门针对这种流量的http客户端库。我认为内置程序不适合如此大量的请求。Apache httpClient可能是一个候选

我所知道的关于java.net http客户端的限制是围绕身份验证(它可能很难扩展,并且在需要使用不同凭据来调用同一URL的服务器环境中也不能很好地工作)、处理cookie和构造多部分帖子


如果这些限制不影响您,或者您发现它们很容易解决,那么我发现java.net客户端的性能非常好。我还发现,在多线程环境中尝试利用连接池来利用http keep alive时,更容易使用。正如另一个人提到的,这对于ApacheHTTP客户机来说是一个困难的领域

你有什么可以支持这些感觉的吗?为什么HttpURLConnection不适合,而Apache HttpClient适合呢?HttpClient是定制的,它通常是一个更完整的解决方案,而HttpURLConnection和urlconnections只是访问资源的一种很好的透明方式。是的,那又怎么样?更完整、更可定制并不能让它更快、更具可扩展性。有很多附加功能(cookie处理、重定向处理等),我的第一个想法是Apache HttpClient,是的:-),只要你有一个好的线程池和一个好的(http)连接池您几乎可以做任何事情,而不必求助于第三部分复杂的lib。关于HttpClient,当然是sugar,但也有一些令人讨厌的限制(特别是连接池需要相当多的关注)