检查HTTP Image路径是否有效

时间:2011-07-26 07:23:21

标签: java

我在Java中有一个问题如何检查图像http路径是否有效?

例如:
此图像已存在。 http://g0.gstatic.com/ig/images/promos/homepage_home.png

但这不是。 http://sampledomain.com/images/fake.png

我想制作一个逻辑:

If(image is existing)
 - do this
Else
 - do others

由于

更新 用谷歌搜索时得到的代码试了一遍:

import java.awt.Image;
import java.io.IOException;
import java.net.URL;
import javax.imageio.ImageIO;
public class TestImage {
      public static void main(String[] arg){
          Image image = null;
          try {
              URL url = new URL("http://g0.gstatic.com/ig/images/promos/homepage_home.png");
              image = ImageIO.read(url);
          } catch (IOException e) {
              System.out.println("Error");
          }
      }
}

但我总是收到错误......我不确定这是否可行..还有其他想法吗?

2 个答案:

答案 0 :(得分:2)

发出Http Head请求。如果它是现有路径,您将收到回复,否则您将收到错误。

这并不会检查它是否是有效图像,只是路径存在。如果你想检查图像是否有效,我想除了下载之外你别无选择。

答案 1 :(得分:0)

您可以使用selenium javascript executor检查图像是否存在。

希望此代码可以帮助您 -

picPath是您要验证的Url路径。

 result = (Boolean) ((JavascriptExecutor) driver).executeScript(
              "var http = new XMLHttpRequest(); http.open('HEAD',arguments[0], false); http.send();return http.status!=404;", picPath);