Check if URL exists

Does anyone know how to check if a URL exists? The function exist seems to only work of file paths through a computer.

Answers (1)

Walter Roberson
Walter Roberson on 30 Jul 2012

1 vote

It is possible to detect that a URL does exist, but it is not always possible to detect that a URL does not exist compared to it existing but you not being permitted to examine it.

5 Comments

Ryan
Ryan on 30 Jul 2012
Walter:
Not sure what you're trying to say. What might be useful is that the URL is an FTP file that I'm trying to access. My problem is that if it doesn't find the file my code freaks out so I'm trying to implement an IF statement and if the URL doesn't exist, use "continue" to jump over it
Jan
Jan on 31 Jul 2012
@Ryan: Your original question is vague. Most of all the "existence" of an URL is not well defined. Walter's answer reveals this leak.
If you post the command, you use to access the file on the FTP-server, a suggestion for catching an error is much easier than writing the complete program from the scratch. So please add more details by editing the original question.
In the case of ftp, then fetching the URL without the final object should give you a directory of objects at that level, provided that the ftp server uses the common (but not guaranteed) strategy of interpreting a request for a directory to mean to return the directory listing.
@Walter, that first response was deep
I found for files online, that I can create a function that examines, iteratively, the presence of a file within a URL to determine whether or not it exists.
Example
function [info,status] = FileExists(t)
t = num2str(8965);
url = strcat('http://podaac-opendap.jpl.nasa.gov/opendap/allData/oscar/preview/L4/oscar_third_deg/oscar_vel',t,'.nc.gz');[~,status] = urlread(url);
filename = strcat('oscar_vel',t,'.nc.gz');
try
Info = ncinfo(url);
status = 1;
catch
Info = [];
status = 0;
end
If status is 1, then file exists, if status is 0, the file doesnt' exist. You can use a tilde for the first output within the square brackets to suppress the output if you only want to look at the status

Sign in to comment.

Categories

Asked:

on 30 Jul 2012

Edited:

on 26 Apr 2017

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!