我如何重用连接来读取多个URL

时间:2019-06-18 10:44:46

标签: java image stream connection inputstream

我目前有一种方法,可以从 String (网址)创建 InputStream

问题是,每次我想从新URL读取时,我都必须打开一个新连接。我感觉这有点低效,因为我的网络交换机决定几次放弃我。

我想建立连接的集合,如果我想读取新图像,只需“重定向”它们。 如果网站托管人将此连接看作是一个“浏览”网站的用户,而不是一个IP产生的数千个随机连接,那将是很好的选择。这样可以防止随便的403s即时通讯。

我有大约2-3百万个URL要连接。 因为这对我来说是一个相当新的领域,所以我尝试使用URL.class和URLConnection.class中的几种方法。到目前为止没有成功。


    private Optional<InputStream> readImage(String urlString, int fromIndex, int trys) {

        InputStream inStream = null;

        try {
            inStream = new URL(urlString).openConnection().getInputStream();
        } catch (IOException e) {
            if(trys <= 3) {
                return readImage(urlString, fromIndex, ++trys);
            }
        }

        return Optional.ofNullable(inStream);
    }

Maybe helps

0 个答案:

没有答案