检查HTTP镜像路径是否有效



我在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");
          }
      }
}

但是我总是得到一个错误…我不确定这是否可能。还有其他想法吗?

发出Http头请求。如果它是一个已经存在的路径,你会得到一个响应,否则你会得到一个错误。

这并不检查它是否是一个有效的图像,只是检查路径是否存在。如果你想检查图片是否有效,我认为你别无选择,只能下载

您可以使用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);

最新更新