Jak sprawdzić czy Link z obrazkiem jest aktywny?

0

Witam.
Jakim najprostszym sposobem można sprawdzić czy obrazki są aktywne ? (około 100 linków w różnych TextBoxach)
Jest na to może jakiś gotowy skrypt ? Czy musze WebBrowserem latać po wszystkich linkach ?

Chciałem wykorzystać coś takiego, ale to się sprawdzi tylko w przypadku jeśli jest błąd jakiś np 404..

    Public Function CheckURL(ByVal HostAddress As String) As Boolean
        CheckURL = False

        Dim url As New System.Uri(HostAddress)
        Dim wRequest As System.Net.WebRequest
        wRequest = System.Net.WebRequest.Create(url)
        Dim wResponse As System.Net.WebResponse
        Try
            wResponse = wRequest.GetResponse()
            'Is the responding address the same as HostAddress to avoid false positive from an automatic redirect.
            If wResponse.ResponseUri.AbsoluteUri().ToString = HostAddress Then 'include query strings
                CheckURL = True
            End If
            wResponse.Close()
            wRequest = Nothing
        Catch ex As Exception
            wRequest = Nothing
            MsgBox(ex.ToString)
        End Try

        Return CheckURL
    End Function

a np w takim przypadku już nie...
http://i51.tinypic.com/2ent3ye.jpg

0

Jaki link z obrazkiem? O co chodzi? Co masz na myśli pisząc są aktywne?

0

tu przypadki gdzie są nie aktywne / usunięte obrazki:

1 nie.png

2 nie.png

3.png

a tak wygląda dobry obrazek:

akty.png

Chce tylko aby ktoś mi podpowiedział czy ta funkcja co podałem będzie dobrym rozwiązaniem jak ją odpowiednio zmodyfikuję? Czy coś zupełnie innego lepiej tu wykorzystać..? ( zeby jak najmniej obciążać internet)

@kAzek

0

I cvo mi z nich w załącznikach jak one na 4p i tak jak będą aktywne (nie ważne co wyświetlają) aby sprawdzić czym są różnią potrzebne są linki.

0

W zasadzie nie ma z żadnym z podanych problemu z wyjątkiem ostatniego (pozostałe przekierowują pod inny adres wiec tamta funkcja powinna sobie radzić). Na myśl przychodzi mi takie rozwiązanie że trzeba by sobie zrobić jakąś kolekcję takich "głupich" hostów wraz z ich rozmiarem i md5 obrazka "not found". Jeżeli host jest na tej "czarnej liście" to sprawdzać rozmiar a jeżeli identyczny to porównywać obliczony md5 odpowiedzi z tym zapisanym, bo chyba nie ma innego wyjścia jak serwer w żaden sposób inie informuje o tym że obrazka już nie ma tylko na jego miejsce (nawet bez przekierowywania) podstawia inny.

0

Wyszedłbym z połączenia systemu autora i @kAzek: sprawdzać, czy obrazek zwraca kod błędu (404, 403), a jeżeli nie - to sprawdzać, czy długość treści (ContentLength) jest w naszej bazie długości podanych jako błędne. Plus, użyłbym metody HTTP HEAD, żeby ograniczyć (znacząco) transfery danych. Aczkolwiek jeżeli serwer zwróci 405, to trzeba by wtedy próbować pobrać normalnie.

1 użytkowników online, w tym zalogowanych: 0, gości: 1