php.de

Zurück   php.de > Webentwicklung > PHP-Fortgeschrittene

PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 20.07.2005, 15:55  
Gast
 
Beiträge: n/a
Standard [Erledigt] Probleme mit Linkverfolgung !!! HILFE !!!

Hallo werte Gemeinde,

mal wieder habe ich ein Problem und brauche eure Hilfe.

Ich habe eine Art Spider in PHP geschrieben die automatisch alle links innerhalb einer Domain verfolgt und ausliest um Sie in einer Datenbank zu Speichern (Fast ne kleine SuMa).

Nun habe ich folgendes Prob:

Bei einigen Links ( z.B. http://www.code-box.de/download.php?id=28&s=download ) wird ein Automatischer Download gestartet und die berümte abfrage ( Öffenen / Speichern / Abbrechen ) erscheint. Die ersten 10 solcher Links verkraftet das Script, dann bleibt es hängen. Ausgelesen werden die Daten mit $content = implode("", file($url));

Wie kann ich nun vor dem auslesen erkennen ob der Link einen Download startet ? Habe es schon mit phpLinkCheck ( http://www.php-faq.de/q/q-code-links-testen.html ) versucht dieses erkennt das aber nicht.

Weis jemand ABHILFE ?

Vielen Dank schonmal im vorraus für die Hilfe.

MfG
  Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 20.07.2005, 16:00  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.798
PHP-Kenntnisse:
Fortgeschritten
robo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblick
Standard

und was machste wenn z.b. ein link eine datei ist und dir 100MB entgegenkommen ?

-> schau dir mal snoopy oder curl an, damit kannst du erst die header chekcen und so und dann das ganze auswerten, desweiteren lassen sich damit auch 404-fehlerseiten erkennen
robo47 ist offline   Mit Zitat antworten
Alt 20.07.2005, 16:00  
Erfahrener Benutzer
 
Registriert seit: 29.10.2004
Beiträge: 1.783
derHund
Standard

verwendest du fsockopen? dort erkennst du eigentlich um mime-type, um welche art antwort es sich handelt, ...
__________________
derHund ist offline   Mit Zitat antworten
Alt 20.07.2005, 17:24  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von derHund
verwendest du fsockopen? dort erkennst du eigentlich um mime-type, um welche art antwort es sich handelt, ...
Ja verwende ich ( http://froemter.de/php/phpLinkCheck.phps )nur leider erkennt das script keine downloadanfrage wie müste ich es umschreiben damit es klappt ?
  Mit Zitat antworten
Alt 20.07.2005, 17:47  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von robo47
-> schau dir mal snoopy oder curl an, damit kannst du erst die header chekcen und so und dann das ganze auswerten, desweiteren lassen sich damit auch 404-fehlerseiten erkennen
Verstehe nur Bahnhof
  Mit Zitat antworten
Alt 20.07.2005, 18:24  
Gast
 
Beiträge: n/a
Standard

Habe es mit folgendem Script versucht :

PHP-Code:
<?php 

function phpLinkCheck($url$r FALSE

  
/*  Purpose: Check HTTP Links 
   *  Usage:   $var = phpLinkCheck(absoluteURI) 
   *           $var["Status-Code"] will return the HTTP status code 
   *           (e.g. 200 or 404). In case of a 3xx code (redirection) 
   *           $var["Location-Status-Code"] will contain the status 
   *           code of the new loaction. 
   *           See print_r($var) for the complete result 
   * 
   *  Author:  Johannes Froemter <j-f@gmx.net> 
   *  Date:    2001-04-14 
   *  Version: 0.1 (currently requires PHP4) 
   */ 

  
$url trim($url); 
  if (!
preg_match("=://="$url)) $url "http://$url"
  
$url parse_url($url); 
  if (
strtolower($url["scheme"]) != "http") return FALSE

  if (!isset(
$url["port"])) $url["port"] = 80
  if (!isset(
$url["path"])) $url["path"] = "/"

  
$fp fsockopen($url["host"], $url["port"], &$errno, &$errstr30); 

  if (!
$fp) return FALSE
  else 
  { 
    
$head ""
    
$httpRequest "HEAD "$url["path"] ." HTTP/1.1\r\n" 
                  
."Host: "$url["host"] ."\r\n" 
                  
."Connection: close\r\n\r\n"
    
fputs($fp$httpRequest); 
    while(!
feof($fp)) $head .= fgets($fp1024); 
    
fclose($fp); 

    
preg_match("=^(HTTP/\d+\.\d+) (\d{3}) ([^\r\n]*)="$head$matches); 
    
$http["Status-Line"] = $matches[0]; 
    
$http["HTTP-Version"] = $matches[1]; 
    
$http["Status-Code"] = $matches[2]; 
    
$http["Reason-Phrase"] = $matches[3]; 

    if (
$r) return $http["Status-Code"]; 

    
$rclass = array("Informational""Success"
                    
"Redirection""Client Error"
                    
"Server Error"); 
    
$http["Response-Class"] = $rclass[$http["Status-Code"][0] - 1]; 

    
preg_match_all("=^(.+): ([^\r\n]*)=m"$head$matchesPREG_SET_ORDER); 
    foreach(
$matches as $line$http[$line[1]] = $line[2]; 

    if (
$http["Status-Code"][0] == 3
      
$http["Location-Status-Code"] = phpLinkCheck($http["Location"], TRUE); 

    return 
$http
  } 


$test=phpLinkCheck("http://www.code-box.de/download.php?id=28&s=download");

print_r($test);

?>
Heraus kommt : Content-Type => text/html.

Wenn man aber die URL im browser aufruft kommt die downloadanfrage und bei dieser oder einer anderen adresse die den selben effeckt hat bleibt das Script hängen.

Auch mime-Typ liefert dieses ergebniss.
  Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Hilfe, iframe macht probleme für mysql-abfrage soa Datenbanken 4 09.03.2007 18:40
Probleme bei Speicherung von serialize() Strings Manni2k PHP Tipps 2006 13 15.10.2006 15:06
[Erledigt] HILFE HILFE HILFE mysqladmin.exe fehlt Datenbanken 7 20.12.2005 14:00
HILFE ! Brauche ganz dringend hilfe! PHP Tipps 2005-2 2 10.10.2005 23:08
.htaccess Probleme Hilfe PHP Tipps 2005-2 0 21.08.2005 14:01
Probleme bei der Eingabe in Mysql BITTE UM SCHNELLE HILFE!!! PHP Tipps 2005-2 37 06.07.2005 23:32
[Erledigt] VARIABLEN WERDEN NICHT RICHTIG VERARBEITET!!!! HILFE PHP Tipps 2005-2 6 02.07.2005 18:32
Hilfe bzw. Script gesucht Beitragsarchiv 1 15.05.2005 14:05
Hilfe bzw. Script gesucht PHP Tipps 2005 2 17.04.2005 16:38
[Erledigt] hilfe! probleme mit... PHP Tipps 2005 4 12.04.2005 22:55
probleme mit echo ".$variable." brauch hilfe... PHP Tipps 2005 15 15.03.2005 15:18
HILFE!!!! extreme(eigenartige) probleme mit offline-Daten! PHP Tipps 2005 8 12.02.2005 18:47
Probleme mit Umlauten, Hilfe gesucht, habe keine Erfahrung PHP Tipps 2005 11 07.01.2005 12:40
[Erledigt] Probleme mit Fremdsprachen HTML, Usability und Barrierefreiheit 2 21.09.2004 17:11
Brauche Hilfe - kenne mich nicht aus - zahlen auch dafür Beitragsarchiv 1 09.08.2004 16:10

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
linkverfolgung nicht möglich, link verfolgung, snoopy status code, html link verfolgung, download php-adresse problem, php crawler links auslesen, php curl status abfragen 200, phplinkcheck, http error codes mit php auslesen, http error code mit php auslesen, email linkverfolgung fehlermeldung administrator, linkverfolgung möglich, mit class snoopy status auslesen, gmx downloadanfrage, php linkverfolgung, schnelle linkverfolgung von google, php crawler http status, statuscod mit php auswerten, linkverfolgung programm, http-status-codes in php 4 auswerten

Alle Zeitangaben in WEZ +1. Es ist jetzt 18:42 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.