首页 > 解决方案 > Java/OKHTTP:不获取网站正文的 HEAD 查询

问题描述

我的应用程序需要获取所有必要信息都已包含在 HTTP-HEAD-Part 中的 URL。我不需要网站的内容,所以最有效的方法是在头部完全加载时停止加载。

有没有办法用 JAVA 和 OKHTTP 做到这一点?现在,这就是我所做的:

 MyAnswer = MyHTTPClient.newCall(new Request.Builder().url("https://www.example.com").get().build()).execute();
 Body = MyAnswer.body().string();
 MyAnswer.body().close();

我需要的信息是 301-Redirect-Location,我目前正在通过拦截器提取它。一旦我知道这些信息,我就会返回 null 以阻止它加载:

private static class LoggingInterceptor implements Interceptor {

    @Override
    public Response intercept(Interceptor.Chain chain) throws IOException {
        try {

            Response response = chain.proceed(chain.request());
            if (response.isRedirect()) {
                    //SAVE RESPONSE
                    return null;
                }
            }

            return response;
        } catch (SocketTimeoutException e) {
            return null;
        }
    }
}

这是正确的方法吗?谢谢!

标签: javahttpweb-scrapingjsoupokhttp

解决方案


推荐阅读