• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 209
  • Last Modified:

how to check if a URL is valid before making a connection

Hi guys

i have this code in which I check whether there is an image stored on the server or a link to an image is provided. Now what I need is that if the image link doesn't go to a valid image then it shouldn't show the image. Also when I write some random word a s a link to the image such as 'jsadsakd' it throws an error and doesn't display the whole page at all

her is my code
 <% if(chapter_sponsor.getImage_size() > 0){%>
                                    <a href ="<%= chapter_sponsor.getImage_link() %>" target="_blank" ><img src="attachments/sponsors/<%=chapter_ID%><%=chapter_sponsor.getSponsor_ID()%>" border="0" width="200" height="100"></a>      
                                <%}else if(!checkNull(chapter_sponsor.getSponsor_image_url()).equals("")){
                                          URL img = new URL(chapter_sponsor.getSponsor_image_url());
                                                HttpURLConnection con = (HttpURLConnection )img.openConnection();
                                                      <a href ="<%= chapter_sponsor.getImage_link() %>" target="_blank" ><img src="<%=chapter_sponsor.getSponsor_image_url()%>" border="0" width="200" height="100"></a>      
                                         <%}}catch(IOException e)
                                    { %>
                                                      <a href ="<%= chapter_sponsor.getImage_link() %>" target="_blank" ><img src="http://www.ccim.com/common/images/missing_photo.gif" border="0" width="200" height="100">

                              <% }}%>
1 Solution
 Is this validation to be performed by the server?  You might try retrieving the image (on the server) before you put the image URL in the src attribute.
You could try checking the link for the substing ".jpg"  for instance, the following function will return true if the link ends in a valid image extention, and false if something else (you could also add elements to ArrExtentions for more image types.):

function RealImg(strLink as string)
    ret = false
    ArrExtentions = array (".jpg",".jpeg",".gif",".png")
    for i = 0 to ubound (ArrExtentions) -1
        if lcase(left(strLink,(len(ArrExtentions(i))))) = ArrExtentions(i) then ret = true
    next i
    RealImg = ret
end function
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Train for your Pen Testing Engineer Certification

Enroll today in this bundle of courses to gain experience in the logistics of pen testing, Linux fundamentals, vulnerability assessments, detecting live systems, and more! This series, valued at $3,000, is free for Premium members, Team Accounts, and Qualified Experts.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now