Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Prüfen, ob Bild im Internet erreichbar (https://www.delphipraxis.net/143941-pruefen-ob-bild-im-internet-erreichbar.html)

DeddyH 26. Nov 2009 15:15

Re: Prüfen, ob Bild im Internet erreichbar
 
Aber an der Programmlogik :mrgreen:

Sherlock 26. Nov 2009 15:15

Re: Prüfen, ob Bild im Internet erreichbar
 
Was ist, wenn das Bild bei jemandem steht, der keine direkten Links zulässt? Und dann bei jedem Link auf eines seiner Bilder plötzlich sowas hier liefert?

http://72.249.127.184/media/no_hotlinking.jpg

Das merkt das Programm aber nicht, oder?

Edit: Gott ist das groß, ich suche schon ne kleinere Version davon....

Sherlock

dominikkv 26. Nov 2009 15:27

Re: Prüfen, ob Bild im Internet erreichbar
 
Ich habe jetzt hier von hathor eine Funktion gefunden, die schnell ist :)

Delphi-Quellcode:
function IsUrlValid(const url: string): boolean;
var
  hInet: HINTERNET;
  hConnect: HINTERNET;
  infoBuffer: array [0..512] of char;
  dummy: DWORD;
  bufLen: DWORD;
  okay: LongBool;
  reply: String;
begin
  hInet := InternetOpen(PChar(application.title),
    INTERNET_OPEN_TYPE_PRECONFIG_WITH_NO_AUTOPROXY,nil,nil,0);
  hConnect := InternetOpenUrl(hInet,PChar(url),nil,0,
    INTERNET_FLAG_NO_UI,0);
  if not Assigned(hConnect) then
    //----------------------------------------------------------
    // If we couldn't open a connection then we know the url
    // is bad. The most likely reason is that the url is bad,
    // but it could be because of an unknown or badly specified
    // protocol.
    //----------------------------------------------------------
    result := false
  else
  begin // Create a request for the url.
    dummy := 0;
    bufLen := Length(infoBuffer);
    okay := HttpQueryInfo(hConnect,HTTP_QUERY_STATUS_CODE,
      @infoBuffer[0],bufLen,dummy);
    if not okay then
      // Probably working offline, or no internet connection.
      result := False
    else
      result := infoBuffer= '200';
    InternetCloseHandle(hConnect);
  end;
  InternetCloseHandle(hInet);
end;
Ich werd nacher (wenn der die Liste abgearbeitet hat) mal schauen, ob die richtig funktioniert hat.


Zitat:

Zitat von Sherlock
Was ist, wenn das Bild bei jemandem steht, der keine direkten Links zulässt? Und dann bei jedem Link auf eines seiner Bilder plötzlich sowas hier liefert?

http://72.249.127.184/media/no_hotlinking.jpg

Das merkt das Programm aber nicht, oder?

Nein... aber ich kann dir versprechen, dass soetwas nicht kommt... die Bilder sind auf meinem Server :cyclops:

DeddyH 26. Nov 2009 15:29

Re: Prüfen, ob Bild im Internet erreichbar
 
Du hast #5 nicht gelesen, stimmt' s?

dominikkv 26. Nov 2009 15:39

Re: Prüfen, ob Bild im Internet erreichbar
 
Zitat:

Zitat von DeddyH
Du hast #5 nicht gelesen, stimmt' s?

Wahh ihr seid mir einfach zu schnell... :pale:

jfheins 26. Nov 2009 17:12

Re: Prüfen, ob Bild im Internet erreichbar
 
Zitat:

Zitat von dominikkv
Ich werd nacher (wenn der die Liste abgearbeitet hat) mal schauen, ob die richtig funktioniert hat.

Wenn das immernoch so lange dauert: Erstelle doch einfach 20 oder so Threads, die jeweils eine URL checken. Solle nochmal deutlich schneller sein


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:13 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz