# Test For JPEG Image Over HTTP

**URL:** <https://www.ruby-forum.com/t/test-for-jpeg-image-over-http/65282>\
**Category:** Ruby\
**Created:** [August 17, 2006, 10:12am UTC](https://www.ruby-forum.com/t/test-for-jpeg-image-over-http/65282 "2006-08-17T10:12:35Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![chunkyslink](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/f0a364/32.png) [@chunkyslink](https://www.ruby-forum.com/u/chunkyslink)\
**Post date:** [August 17, 2006, 10:12am UTC](https://www.ruby-forum.com/t/test-for-jpeg-image-over-http/65282/1 "2006-08-17T10:12:35Z")

</div>

Hi

I would like to test for the existence of a .jpg image on a remote  
server over HTTP.

I have tried 2 different methods but they are not what I need.

Method 1:

require ‘open-uri’  
if open(‘[http://example.net/path/to/image.jpg](http://example.net/path/to/image.jpg)’)

end

---

<div class="post-metadata">

**Author:** ![chunkyslink](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/f0a364/32.png) [@chunkyslink](https://www.ruby-forum.com/u/chunkyslink)\
**Post date:** [August 17, 2006, 10:22am UTC](https://www.ruby-forum.com/t/test-for-jpeg-image-over-http/65282/2 "2006-08-17T10:22:51Z")

</div>

Neil Charlton wrote:

> if open(‘[http://example.net/path/to/image.jpg](http://example.net/path/to/image.jpg)’)
> 
> end

require ‘net/http’

# Strict existence

def url\_exists?(path)  
u = URI.parse(path)  
h = Net::HTTP.new(u.host, u.port)  
r = h.head(u.path)  
return Net::HTTPOK === r  
end

# Lack of non-existence

def url\_found?(path)  
u = URI.parse(path)  
h = Net::HTTP.new(u.host, u.port)  
r = h.head(u.path)  
return !(Net::HTTPNotFound === r)  
end
