php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2009

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 11.07.2009, 15:33  
Neuer Benutzer
 
Registriert seit: 11.07.2009
Beiträge: 6
PHP-Kenntnisse:
Anfänger
spideroma befindet sich auf einem aufstrebenden Ast
Standard Ziel einer redirection Seite auslesen

Hi,

Ich habe eine Frage... und zwar möchte ich das Weiterleitungsziel (also die redirection URL) einer Weiterleitungsseite auslesen.

Also: Ich habe folgende Weiterleitungsseite:
http://www.pslover.com/click/14389

Die Seite leitet den User ja sofort hierhin weiter:
http://www.photoshophowto.com/17-3D-Software-box.html


So nun möchte ich, dass ein PHP Script mithilfe der Weiterleitungsseite, die Zielurl direkt ausgibt.

Ich gebe dem Script:
http://www.pslover.com/click/14389

und bekomme:
http://www.photoshophowto.com/17-3D-Software-box.html

Kann mir jemand helfen? Ich habe schon Google benutzt, jedoch finde ich keine richtigen Suchworte, damit ich das passende Ergebnis bekomme.

Dankeschön
spideroma ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 11.07.2009, 19:45  
erc
Erfahrener Benutzer
 
Registriert seit: 02.01.2009
Beiträge: 730
PHP-Kenntnisse:
Fortgeschritten
erc wird schon bald berühmt werden
Standard

Mit PHP: fsockopen - Manual den Link öffenen und schauen ob im Header Location gesetzt ist...
erc ist offline  
Alt 11.07.2009, 20:24  
Neuer Benutzer
 
Registriert seit: 11.07.2009
Beiträge: 6
PHP-Kenntnisse:
Anfänger
spideroma befindet sich auf einem aufstrebenden Ast
Standard

Danke für die Antwort.

Könntest du mir dazu ein Beispiel geben?
Ich komm damit nicht so ganz klar, ja ich habe auf dem Link mir das durchgelesen, jedoch werde ich dadurch nicht so richtig schlau...

Dankeschön
spideroma ist offline  
Alt 11.07.2009, 20:43  
erc
Erfahrener Benutzer
 
Registriert seit: 02.01.2009
Beiträge: 730
PHP-Kenntnisse:
Fortgeschritten
erc wird schon bald berühmt werden
Standard

Zitat:
Zitat von spideroma Beitrag anzeigen
Könntest du mir dazu ein Beispiel geben?
Hab ich schon... siehe php.net.

Ein Hinweis geb ich aber noch...

Beispiel von php.net
PHP-Code:
<?php
$fp 
fsockopen("www.example.com"80$errno$errstr30);
if (!
$fp) {
    echo 
"$errstr ($errno)<br />\n";
} else {
    
$out "GET / HTTP/1.1\r\n";
    
$out .= "Host: www.example.com\r\n";
    
$out .= "Connection: Close\r\n\r\n";
    
fwrite($fp$out);
    while (!
feof($fp)) {
        echo 
fgets($fp128);
    }
    
fclose($fp);
}
?>
Um 3D Software box - Photoshop Tutorials aufzurufen muss die URL gesplittet werden... das sieht dann so aus:

PHP-Code:
<?php
$fp 
fsockopen("www.pslover.com"80$errno$errstr30);
if (!
$fp) {
    echo 
"$errstr ($errno)<br />\n";
} else {
    
$out "GET /click/14389 HTTP/1.1\r\n";
    
$out .= "Host: www.pslover.com\r\n";
    
$out .= "Connection: Close\r\n\r\n";
    
fwrite($fp$out);
    while (!
feof($fp)) {
        echo 
fgets($fp128);
    }
    
fclose($fp);
}
?>
Und dann schau dir mal die Ausgabe an... da steht ganz oben was mit Location und das ist das was du willst. Alles weitere steht in den Kommentaren von php.net. (URL splitten, Location header auslesen, muss nur zusammengefügt werden)
erc ist offline  
Alt 11.07.2009, 23:11  
Neuer Benutzer
 
Registriert seit: 11.07.2009
Beiträge: 6
PHP-Kenntnisse:
Anfänger
spideroma befindet sich auf einem aufstrebenden Ast
Standard

Klappt nun alles!
Vielen Dank

Geändert von spideroma (12.07.2009 um 17:06 Uhr).
spideroma ist offline  
Alt 13.07.2009, 14:08  
Neuer Benutzer
 
Registriert seit: 11.07.2009
Beiträge: 6
PHP-Kenntnisse:
Anfänger
spideroma befindet sich auf einem aufstrebenden Ast
Standard

Hallo,

Ich habe nun doch noch eine Frage:

Wenn die URL so aussehen würde:

3D Software box - Photoshop Tutorials

Wie kann ich das dann mit diesem Code verbinden? Wenn ich das normal ersetze, dann funktioniert es nicht weil ein Fragezeichen in diesem Bereich:
PHP-Code:
$out "GET /click/14389 HTTP/1.1\r\n"
scheinbar nicht geht...

PHP-Code:
<?php
$fp 
fsockopen("www.pslover.com"80$errno$errstr30);
if (!
$fp) {
    echo 
"$errstr ($errno)<br />\n";
} else {
    
$out "GET /click/14389 HTTP/1.1\r\n";
    
$out .= "Host: www.pslover.com\r\n";
    
$out .= "Connection: Close\r\n\r\n";
    
fwrite($fp$out);
    while (!
feof($fp)) {
        echo 
fgets($fp128);
    }
    
fclose($fp);
}
?>

Vielen Dank
spideroma ist offline  
Alt 13.07.2009, 14:45  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Zitat:
weil ein Fragezeichen in diesem Bereich […] scheinbar nicht geht...
Doch eigentlich schon. Mal ein Beispielheader für einen Buttonklick in diesem Thread (Session habe ich mal entfernt):

Code:
GET http://www.php.de:80/editpost.php?do=editpost&p=439760 HTTP/1.1
Host: www.php.de
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.8.1.14) Gecko/20080404 Firefox/2.0.0.14
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Accept-Language: de-de,de;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Proxy-Connection: keep-alive
Cookie: ***
PS: Absoluter Pfad ist eigentlich auch Pflicht. Genau wie bei reloaction header.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline  
Alt 13.07.2009, 15:02  
Neuer Benutzer
 
Registriert seit: 11.07.2009
Beiträge: 6
PHP-Kenntnisse:
Anfänger
spideroma befindet sich auf einem aufstrebenden Ast
Standard

Also ich hätte es jetzt so:

Code:
$url = "http://www.tutorial-index.com:80/rdt2.php?tutid=7754";

$fp = fsockopen("www.tutorial-index.com", 80, $errno, $errstr, 30); 
if (!$fp) { 
    echo "$errstr ($errno)<br />\n"; 
} else { 
    $out = "GET $url HTTP/1.1\r\n"; 
    $out .= "Host: www.tutorial-index.com\r\n"; 
    $out .= "Connection: Close\r\n\r\n"; 
    fwrite($fp, $out); 
    while (!feof($fp)) { 
       $test = fgets($fp, 128); 

       if (eregi('Location', $test)) {
 $tumba = str_replace("Location:", "", $test);
 $tumba = str_replace(" ", "", $tumba);
 echo $tumba;
}
    } 
    fclose($fp); 
}
Jedoch klappt es nicht ganz, woran kann es liegen?
Der Fehler ist: Es scheint einen Fehler zu geben bei der Header Abfrage, er gibt nichts aus - leider.


PS: Der kursiv gedruckte Bereich filtert die URL raus die nach: Location: kommen würde.

Geändert von spideroma (13.07.2009 um 16:34 Uhr).
spideroma ist offline  
Alt 13.07.2009, 16:46  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Eine komplette Ausgabe erzeugt bei mir:

Code:
HTTP/1.1 301 Moved Permanently
Date: Mon, 13 Jul 2009 14:46:16 GMT
Server: Apache/2.2.8 (Fedora)
Location: [url=http://tutorial-index.com/rdt2.php?tutid=7754]Cool Tutorials[/url]
Content-Length: 340
Connection: close
Content-Type: text/html; charset=iso-8859-1

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>301 Moved Permanently</title>
</head><body>
<h1>Moved Permanently</h1>
<p>The document has moved <a href="http://tutorial-index.com/rdt2.php?tutid=7754">here</a>.</p>
<hr>
<address>Apache/2.2.8 (Fedora) Server at [url=http://www.tutorial-index.com]Tutorial-Index : Free Tutorials - Photoshop, Flash, Adobe, PHP, Video, and more[/url] Port 80</address>
</body></html>
Stimmt wohl Dein Ausdruck nicht. Von ereg_* solltest Du sowieso Abstand nehmen. Rein theoretisch kann durch das stückweise Auslesen auch der Ausdruck fehlschlagen.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--

Geändert von nikosch (13.07.2009 um 17:06 Uhr).
nikosch ist offline  
Alt 13.07.2009, 17:00  
Neuer Benutzer
 
Registriert seit: 11.07.2009
Beiträge: 6
PHP-Kenntnisse:
Anfänger
spideroma befindet sich auf einem aufstrebenden Ast
Standard

Du hast recht!

Ich war zu vernarrt in diese Location Geschichte
Ich werde das Script wohl einfach etwas umändern müssen und dann klappt es.

Vielen Dank für deine Mühe, und natürlich auch ein Dank an erc
spideroma ist offline  
 


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
CURL in Seite einloggen und einen Teil parsen Matt PHP Tipps 2008 8 03.09.2009 22:30
Hilfe, Seite im Internet Explorer Buggy trowman HTML, Usability und Barrierefreiheit 4 15.09.2008 08:32
Bei richtiger Eingabe Daten an nächste Seite versenden xx_heidi_xx PHP Tipps 2008 49 27.05.2008 14:56
Iframe aus einer Seite auslesen -CyberPlanet- PHP Tipps 2008 2 05.04.2008 20:48
Krieg kein Objekt zurück auf includeter Seite NONNNNN PHP Tipps 2008 5 28.03.2008 19:25
Titel einer Seite auslesen bernd14 PHP Tipps 2008 2 04.03.2008 11:44
Eintrag in DB und Wechsel zu anderer Seite Darson PHP Tipps 2008 25 14.01.2008 16:46
Seite auslesen PHP Tipps 2006 15 12.11.2006 18:46
FORM und Seite auslesen phpfreak PHP Tipps 2006 3 27.07.2006 23:15
Teile einer HTML Seite auslesen PHP Tipps 2006 4 01.01.2006 18:41
quelltext einer seite auslesen... Sclot PHP Tipps 2005-2 8 18.06.2005 01:15
Hilfe: Auslesen von Seite PHP Tipps 2005 20 16.05.2005 14:19
alter einer Seite auslesen PHP Tipps 2004-2 4 25.12.2004 19:40
seite auslesen PHP Tipps 2004 2 21.10.2004 14:28
Seite nicht mit content="3600" im Cache gespeicher scheibo PHP Tipps 2004 0 19.07.2004 14:49

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
redirect auslesen, php redirect auslesen, php fsockopen moved permanently, fsockopen moved permanently, curl header auslesen, php location auslesen, the document has moved, redirecting..., curl location auslesen, the document has moved, redirecting, flash video ziel url auslesen, php redirect url auslesen, php curl redirect, php curl 301 moved permanently, curl header location auslesen, curl redirect, php seite auslesen, php weiterleitung auslesen, redirected url auslesen, moved permanently curl, html seite auslesen php

Alle Zeitangaben in WEZ +2. Es ist jetzt 16:21 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