brauche Webseite ideal für Vereine und Firmen
- Ad -
php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Post your PHP questions here!

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 04-06-2010, 12:19
spoetsch
 Registrierter Benutzer
Links : Onlinestatus : spoetsch ist offline
Registriert seit: Mar 2005
Beiträge: 14
spoetsch ist zur Zeit noch ein unbeschriebenes Blatt
spoetsch eine Nachricht über ICQ schicken
Standard Wie Weiterleitungen mittels cURL folgen?

Hallo,

ich möchte gerne den HTML-Code einer Webseite im Netz auslesen. Wenn die URI direkt auf diese Webseite verweist, dann ist das auch kein Problem. Sobald ich aber eine Weiterleitung dazwischen habe, knallt die Abfrage mit cURL. Ich bekomme zwar die Adresse der neuen URI, aber er folgt ihr nicht...

Meist bekomme ich "Invalid URI in request POST [...]" oder "The requested URL [...] was not found on this server"


PHP-Code:
$c curl_init($link);

// Weiterleitung folgen
curl_setopt($cCURLOPT_FOLLOWLOCATIONTRUE);
// POST verwenden
curl_setopt($cCURLOPT_POST1);
// Ergebnis als String zurückgeben
curl_setopt($cCURLOPT_RETURNTRANSFER1);
// Header ausgeben
curl_setopt($cCURLOPT_HEADER1);

$html_code curl_exec($c); 
mache ich dieselbe Abfrage mit
PHP-Code:
file_get_contents($link
funktioniert das ganze einwandfrei aber ich bekomme dafür keine Information über die neue URI, dich in diesem Fall auch gerne wissen möchte.

Was muss ich an der cURL-Abfrage verändern, damit sie sich genauso wie file_get_contents verhält?

Danke im Voraus!
srp
Mit Zitat antworten
  #2 (permalink)  
Alt 04-06-2010, 12:24
AmicaNoctis
  Moderatorin
Links : Onlinestatus : AmicaNoctis ist offline
Registriert seit: Jul 2009
Beiträge: 5.550
Blog-Einträge: 9
AmicaNoctis sorgt für eine eindrucksvolle AtmosphäreAmicaNoctis sorgt für eine eindrucksvolle Atmosphäre
Standard

Hallo,

wenn es sich genauso verhalten soll, musst du GET statt POST verwenden. Bei einer Umleitung ist POST verboten.

Gruß,

Amica
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt?
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke!
Mit Zitat antworten
  #3 (permalink)  
Alt 04-06-2010, 13:00
spoetsch
 Registrierter Benutzer
Links : Onlinestatus : spoetsch ist offline
Registriert seit: Mar 2005
Beiträge: 14
spoetsch ist zur Zeit noch ein unbeschriebenes Blatt
spoetsch eine Nachricht über ICQ schicken
Standard

Hallo,

danke für die schnelle Antwort.

Ich habe die Option jetzt CURLOPT_POST auskommentiert (GET is ja default) aber trotzdem bekomme ich immer noch HTML-Error-Codes 400 oder 404 zurückgeliefert.

Beispiel:
Simpler Beispiellink

Die Rückgabe sind dann wie folgt aus:
HTML-Code:
HTTP/1.1 404 Not Found
Date: Fri, 04 Jun 2010 10:58:55 GMT
Server: Apache/1.3.41 (Unix) mod_cap/1.2.3 mod_oas/5.8
Connection: close
Transfer-Encoding: chunked
Content-Type: text/html; charset=iso-8859-1

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<HTML><HEAD>
<TITLE>404 Not Found</TITLE>
</HEAD><BODY>
<H1>Not Found</H1>
The requested URL /http://www.manager-magazin.de/thema/
uhren_spezial/ was not found on this server.<P>
<HR>
<ADDRESS>Apache/1.3.41 Server at adserv.quality-channel.de
 Port 80</ADDRESS>
</BODY></HTML>
Ich kapiere nicht wo der Fehler liegt... oder muss ich curl_exec für jeder Weiterleitung mit der neuen URI erneut aufrufen? Mit "file_get_contents" klappt es problemlos... bloß ohne die echte URI...

Danke und Gruß
srp

Geändert von spoetsch (04-06-2010 um 13:05 Uhr)
Mit Zitat antworten
  #4 (permalink)  
Alt 04-06-2010, 13:05
AmicaNoctis
  Moderatorin
Links : Onlinestatus : AmicaNoctis ist offline
Registriert seit: Jul 2009
Beiträge: 5.550
Blog-Einträge: 9
AmicaNoctis sorgt für eine eindrucksvolle AtmosphäreAmicaNoctis sorgt für eine eindrucksvolle Atmosphäre
Standard

Siehst du den Slash vor der URL? Das wird es sein.
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt?
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke!
Mit Zitat antworten
  #5 (permalink)  
Alt 04-06-2010, 13:18
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 24.486
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von AmicaNoctis Beitrag anzeigen
Siehst du den Slash vor der URL? Das wird es sein.
Ja - wenn man sich den genannten Link mal mit dem WebSniffer anschaut, sieht man da folgenden Location-Header in der Antwort:
Code:
Location:	http://http://www.manager-magazin.de/thema/uhren_spezial/
Du hast dir leider zum Testen eine Adresse ausgesucht, deren Betreiber zu !%$# für sein Handwerk ist.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #6 (permalink)  
Alt 04-06-2010, 14:42
Quetschi
 PHP Expert
Links : Onlinestatus : Quetschi ist offline
Registriert seit: Dec 2004
Beiträge: 2.759
Quetschi befindet sich auf einem aufstrebenden Ast
Standard

@wahsaga

keine Ahnung was WebSniffer da macht, aber wenn ich das selbst mit einem GET-Request per fsockopen auslese, dann krieg ich

Code:
HTTP/1.1 302 Found
Date: Fri, 04 Jun 2010 12:39:53 GMT
Server: Apache/1.3.41 (Unix) mod_cap/1.2.3 mod_oas/5.8
Set-Cookie: RMID=538a43704c08f410; path=/; domain=.quality-channel.de
Location: http://www.manager-magazin.de/thema/uhren_spezial/
Connection: close
Transfer-Encoding: chunked
Content-Type: text/html; charset=iso-8859-1
Ich kann da kein Problem bzgl. eines falsch gesetzten Location-Header sehen *kopfkratz*

EDIT:
Curl arbeitet bei mir mit der Beispieladresse auch einwandfrei.
__________________
Drelingdo
Krabonse
Simmannamando

Geändert von Quetschi (04-06-2010 um 14:46 Uhr)
Mit Zitat antworten
  #7 (permalink)  
Alt 04-06-2010, 14:58
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 24.486
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Quetschi Beitrag anzeigen
keine Ahnung was WebSniffer da macht
Stimmt, da macht der WebSniffer wohl Mist.

Der hat auch einige andere Macken in letzter Zeit - Schade, damit taugt der als on-the-fly-Debugwerkzeug wohl nicht mehr besonders viel.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #8 (permalink)  
Alt 04-06-2010, 16:14
spoetsch
 Registrierter Benutzer
Links : Onlinestatus : spoetsch ist offline
Registriert seit: Mar 2005
Beiträge: 14
spoetsch ist zur Zeit noch ein unbeschriebenes Blatt
spoetsch eine Nachricht über ICQ schicken
Standard

Zitat:
Zitat von Quetschi Beitrag anzeigen
EDIT:
Curl arbeitet bei mir mit der Beispieladresse auch einwandfrei.
Hm... das heißt, wenn du den Link

"http://adserv.quality-channel.de/RealMedia/ads/click_lx.ads/www.manager-
magazin.de/homepage/center/1523005648/Right1/qc/MO20XX5474XXHOME
/MO20XX5474XXHOME_02.html/36643562366331333463303863656430?http:
//www.manager-magazin.de/thema/uhren_spezial/"

mit eingangs von mir erwähnten Code nutzt, dann löst er die URI richtig auf und liefert dir auch den Quellcode der Zielseite zurück??

Was mache ich dann falsch?

Danke und Gruß
srp
Mit Zitat antworten
  #9 (permalink)  
Alt 04-06-2010, 16:22
Quetschi
 PHP Expert
Links : Onlinestatus : Quetschi ist offline
Registriert seit: Dec 2004
Beiträge: 2.759
Quetschi befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von spoetsch Beitrag anzeigen
Hm... das heißt, wenn du den Link

"http://adserv.quality-channel.de/RealMedia/ads/click_lx.ads/www.manager-
magazin.de/homepage/center/1523005648/Right1/qc/MO20XX5474XXHOME
/MO20XX5474XXHOME_02.html/36643562366331333463303863656430?http:
//www.manager-magazin.de/thema/uhren_spezial/"

mit eingangs von mir erwähnten Code nutzt, dann löst er die URI richtig auf und liefert dir auch den Quellcode der Zielseite zurück??
ja
Zitat:
Zitat von spoetsch Beitrag anzeigen
Was mache ich dann falsch?
k.A.

Was hast du denn für eine PHP-Version am laufen?
__________________
Drelingdo
Krabonse
Simmannamando
Mit Zitat antworten
  #10 (permalink)  
Alt 06-06-2010, 11:33
spoetsch
 Registrierter Benutzer
Links : Onlinestatus : spoetsch ist offline
Registriert seit: Mar 2005
Beiträge: 14
spoetsch ist zur Zeit noch ein unbeschriebenes Blatt
spoetsch eine Nachricht über ICQ schicken
Standard

Hi,

ich habe PHP Version 5.3.1 drauf...

Außerdem ist der "safe_mode" = "Off" und "open_basedir" = "No value"... hab einige Einträge bei Google gesehen, dass das wohl auch zu Fehlern führen kann bei CURLOPT_FOLLOWLOCATION...

Hab echt keine Ahnung, wieso das bei mir nicht läuft... sind doch nur 5 Zeilen-Code...

srp
Mit Zitat antworten
  #11 (permalink)  
Alt 06-06-2010, 13:49
Quetschi
 PHP Expert
Links : Onlinestatus : Quetschi ist offline
Registriert seit: Dec 2004
Beiträge: 2.759
Quetschi befindet sich auf einem aufstrebenden Ast
Standard

Hmm - laut Header-Expose ist bei WebSniffer auch 5.3.1 am werkeln - evtl. was faul in der Version?
__________________
Drelingdo
Krabonse
Simmannamando
Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
curl, curlopt_followlocation, file_get_contents, weiterleitung


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Problem bei Script (curl) - Fragen zur Titelübertragung mittels PHP(Shoutcast) frannek PHP Developer Forum 15 15-02-2008 01:53
Unverschlüsseltes WLAN hat Folgen Abraxax News / Kostenloses 0 08-09-2006 15:27
[Script] Pic soll der maus folgen und nach gewisser zeit ausblenden d2ta Appz und Script Gesuche 5 03-09-2006 20:34
weiterleitungen bruteforce HTML, JavaScript, AJAX und CSS 12 31-01-2004 16:37
Fehler im Job und seine Folgen Günni Out of Order 0 22-01-2003 02:10

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre 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


PHP News

MariaDB 5.5 veröffentlicht
MariaDB 5.5 veröffentlichtDie freie MySQL-Alternative MariaDB wurde in der stabilen Version 5.5.23 veröffentlicht und soll einige Verbesserungen gegenüber Oracles Communityversion von MySQL mitbringen.

16.04.2012 | Berni

Deutsche Yii Framework Community
Deutsche Yii Framework CommunitySeit dem 19.03.2012 gibt es für die Yii PHP Framework Community ein deutsches Zuhause.

20.03.2012 | dhcomputer

 

Aktuelle PHP Scripte

EM 2012 Tipp-Spiel ansehen EM 2012 Tipp-Spiel

Online Tipp-Spiel zur Fussball Europameisterschaft 2012, basierend auf php-Script mit hinterlegter mySql-Datenbank

27.05.2012 tippimnetz | Kategorie: PHP/ Spiele
Advanced Login ansehen Advanced Login

Login-System und Kundenverwaltung, die sich spielend leicht in bestehende Webseiten einbauen lässt und einen enormen Funktionsumfang bietet. Ihre eigene Webseite muss mit Advanced Login nicht umständlich an ein fertiges System angepasst werden.

25.05.2012 Madden | Kategorie: PHP/ Kundenverwaltung
BROM CMS/BelCal 3 ansehen BROM CMS/BelCal 3

Spezielles CMS für Betreiber von Ferienwohnungen. Komplette Seitenerstellung online, Verwaltung mehrerer Objekte, Reservierungssystem mit sofortigem Abgleich im Belegungskalender und vieles mehr bietet dieses Content Management System.

25.05.2012 belcal2 | Kategorie: PHP/ CMS
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 12:09 Uhr.