验证url地址是否有效的方法

场景

这里的场景很简单:就是我们后台业务数据库中保存了N多的音频的url,前端在通过某些业务逻辑得到对应音频的url,然后播放时发现有少部分url是无效的。那么我们后台就需要把这部分失效的url过滤出来,然后补上去。

 

分析

http协议中有很多方法:get、post、put、delete、option等等。其实我们这里就只需要判断对应的url是否有效,也就是说我们只需要查询到对应的文件信息,并不需要文件的内容。刚好,这里head方法与get方法一样,都是向服务器发出指定资源的请求。只不过服务器将不传回资源的本文部分。它的好处在于,使用这个方法可以在不必传输全部内容的情况下,就可以获取其中“关于该资源的信息”(元信息或称元数据)。

见《HTTP权威指南》截图:

实施

    /**
     * 验证url是否有效
     *
     * @param urlStr 待验证的url
     * @return
     */
    public static boolean verificationUrl(String urlStr) {
        try {
            URL url = new URL(urlStr);
            HttpURLConnection conn = (HttpURLConnection) url.openConnection();
            conn.setConnectTimeout(3 * 1000);
            conn.setRequestMethod("HEAD");
            if (conn.getResponseCode() == HttpURLConnection.HTTP_OK) {
                return true;
            }
            return false;
        } catch (MalformedURLException e) {
            e.printStackTrace();
            return false;
        } catch (IOException e) {
            return false;
        }
    }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值