ImageIO.read () devuelve 403 error

Tengo el siguiente código:

public BufferedImage urlToImage(String imageUrl) throws MalformedURLException, IOException {
    URL url = new URL(imageUrl);
    BufferedImage image = ImageIO.read(url);
    return image;
}

Se supone que devuelve una imagen de una URL dada.

He probado con estas dos URL elegidas al azar:

https://www.google.co.ma/images/srpr/logo4w.pnghttp://www.earthtimes.org/newsimage/osteoderms-storing-minerals-helped-huge-dinosaurs-survive_3011.jpg

El primero funciona bien, pero el segundo da un error 403:

Caused by: java.io.IOException: Server returned HTTP response code: 403 for URL: http://www.earthtimes.org/newsimage/osteoderms-storing-minerals-helped-huge-dinosaurs-survive_3011.jpg
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1436)
at java.net.URL.openStream(URL.java:1010)
at javax.imageio.ImageIO.read(ImageIO.java:1367)

¿Cuál podría ser la causa del error? Gracias.

Respuestas a la pregunta(1)

Su respuesta a la pregunta