# file_get_contents, ein URL geht anderer nicht, warum?



## twinx (16. Februar 2006)

Hi,
hab was gebastelt, aber es geht nicht mit jedem URL:

```
$HTML = file_get_contents("http://www.eurexchange.com/products/OGBL.html?mode=quotes"); // der funktioniert

  $HTML2 = stristr($HTML, 'Last update');

$filename = date("Ymd-His"); // erzeugt dateinamen mit datum und uhrzeit
$Datei = "$filename.htm";
$FilePointer = fopen($Datei, "w");
fwrite($FilePointer, $HTML2);
```
Also der obere funktioniert zB.
aber der hier nicht, warum?

```
http://www.eurexchange.com/quotes/delayed/options/FIX/OGBL_P_200603.html  // der geht nicht
```
Warning: file_get_contents(http://www.eurexchange.com/quotes/delayed/options/FIX/OGBL_P_200603.html) [function.file-get-contents]: failed to open stream: HTTP request failed! HTTP/1.1 403 Forbidden... on line 14 (LIne 14 ist der URL)

Kann mir jemand auf die Sprünge helfen?
Danke


----------



## CIX88 (16. Februar 2006)

> HTTP request failed! HTTP/1.1 403 Forbidden



Steht doch da, dass die Seite nicht vorhanden ist.


----------



## Matthias Reitinger (16. Februar 2006)

cadset hat gesagt.:
			
		

> Steht doch da, dass die Seite nicht vorhanden ist.


Als ich das letzte mal in mein Englisch-Wörterbuch geschaut hab, hieß „forbidden“ noch „verboten“ und nicht „nicht vorhanden“


----------



## CIX88 (16. Februar 2006)

Jo ok hab mich geirrt, macht jetzt aber keinen Unterscheid zum eigentlichen Problem


----------



## Ecthelion (16. Februar 2006)

Naja...

Eigentlich schon. Wenn die Seite nicht vorhanden ist das Problem: Falsche Adresse.
Wenn die Seite aber verboten ist hängt das wohl mit den Rechten zusammen d.h. es fehlen die rechte auf die Seite zuzugreifen.

Oder?


----------



## CIX88 (16. Februar 2006)

> Oder ?

Jo Richtig, wenn es nicht seine Seite ist, kann er eh nichts dran ändern.
Also bleibt es im letztlich wieder egal, ob verboten oder nicht gefunden.
Er will/wollte ja dort etwas auslesen


----------



## Ecthelion (16. Februar 2006)

Klar!

Aber wenn er die Möglichkeit hat dran was zu ändern ist es für Ihn schon entscheidend ob nun die Seite nicht vorhanden ist oder er einfach nur die Rechte neu setzten muss....


----------



## CIX88 (16. Februar 2006)

Jo leider hat er das nicht geschrieben


----------



## twinx (17. Februar 2006)

cadset hat gesagt.:
			
		

> Jo leider hat er das nicht geschrieben


Dann muß ich das mal schnell nachholen...
Also die Seiten die ich auslesen will sind alle vorhanden, jedenfalls wenn man sie mit dem Browser "ansurft".
Nun blicke ich es  eben nicht warum ich die eine Seite auslesen kann die andere nicht?
Wie kann das mit den "Rechten" zusammenhängen? 
Müßte ich dann einen Browser "simulieren" und einen "HTTP-Header" senden, damit mir der eurexchange.com Server die Seiten ausspuckt?
Fragen über Fragen...


----------



## diggity (17. Februar 2006)

Das würde mich jetzt allerdings auch interessieren wieso er die eine Seite nimmt, und dir andere nicht. Du könntest es mal mit der file()-Funktion probieren, vielleicht gehts damit ;>


----------



## Matthias Reitinger (17. Februar 2006)

diggity hat gesagt.:
			
		

> Du könntest es mal mit der file()-Funktion probieren, vielleicht gehts damit ;>


Vermutlich nicht, da [phpf]file[/phpf] intern auf die selben Funktionen zurückgreift wie [phpf]file_get_contents[/phpf].




			
				twinx hat gesagt.:
			
		

> Müßte ich dann einen Browser "simulieren" und einen "HTTP-Header" senden, damit mir der eurexchange.com Server die Seiten ausspuckt?


Das momentane Verhalten des entfernten Servers deutet darauf hin, dass ein automatisches Auslesen der Informationen verhindert werden soll. Hast du denn eine Genehmigung von Eurex, die dir die Weiterverarbeitung ihres Webangebotes erlaubt?


----------



## twinx (17. Februar 2006)

diggity hat gesagt.:
			
		

> Das würde mich jetzt allerdings auch interessieren wieso er die eine Seite nimmt, und dir andere nicht. Du könntest es mal mit der file()-Funktion probieren, vielleicht gehts damit ;>


Genau das gleich Spiel mit dem einen URL gehts mit dem anderen nicht!

```
http://www.eurexchange.com/products/OGBL.html?mode=quotes" // der funktioniert
http://www.eurexchange.com/quotes/delayed/options/FIX/OGBL_P_200603.html  // der geht nicht
```


----------



## twinx (17. Februar 2006)

Matthias Reitinger hat gesagt.:
			
		

> Das momentane Verhalten des entfernten Servers deutet darauf hin, dass ein automatisches Auslesen der Informationen verhindert werden soll. Hast du denn eine Genehmigung von Eurex, die dir die Weiterverarbeitung ihres Webangebotes erlaubt?


Hab dein Posting erst jetzt gelesen. Dieses Thema habt ihr hier glaub ich schon öfter disskutiert. Macht es für einen Privatanwender einen Unterschied, ob er von Hand mit dem Browser "Save Page as" macht, oder ob PHP die Site holt? Zu welchem Resümee seit ihr da gekommen?


----------



## twinx (18. Februar 2006)

twinx hat gesagt.:
			
		

> Genau das gleich Spiel mit dem einen URL gehts mit dem anderen nicht!
> 
> ```
> http://www.eurexchange.com/products/OGBL.html?mode=quotes" // der funktioniert
> ...


  Jetzt geht alles! Es geht alles was du willst mit: snoopy ;-) 

_Snoopy is a PHP class that simulates a web browser. It automates the task of retrieving web page content and posting forms, for example._
http://sourceforge.net/projects/snoopy/
http://www.testticker.de/ipro/praxis/netzwerke/article2006010403710.aspx


----------



## forsterm (19. Februar 2006)

twinx hat gesagt.:
			
		

> Macht es für einen Privatanwender einen Unterschied, ob er von Hand mit dem Browser "Save Page as" macht, oder ob PHP die Site holt?


Hallo,
nein, dass macht keinen Unterschied, denn es ist beides illegal. 

mfg
forsterm


----------



## twinx (19. Februar 2006)

forsterm hat gesagt.:
			
		

> ...nein, dass macht keinen Unterschied, denn es ist beides illegal.


Wo kann man das nachlesen?
Das Anschauen einer Website hat noch keiner patentiert, oder?

Vielleicht darf man ja bald nur noch Site anschauen und im Kurzzeitgedächtnis speichern, im Langzeitgedächtnis ist es dann illegal...

Ach ja, dann kommt noch die GEZ und will "Lizenzgebühren" für den Internetanschluß...
Und dann kommt noch Monsanto und verlangt von mir Lizenzgebühren für meine MaisChips, die ich beim surfen nebenher esse, weil anscheinend der Bauer neben dem MaisChips-Hersteller GenMais verwendet und zufällig davon in die MaisChips gekommen ist. Da der GenMaiss patentiert ist, versuchen sie dann natürlich für die kleinste Spur, die sich irgendwo durch den Wind, oder Insekten usw. übertragen hat Lizenzen zu erheben. Sollte man die nicht mal fett verklagen, die verunreinigen doch alles mit ihrem Genzeugs. Kack frech werden dann natürlich Lizenzen dafür erhoben....;-)


----------



## forsterm (19. Februar 2006)

twinx hat gesagt.:
			
		

> Das Anschauen einer Website hat noch keiner patentiert, oder?


Hallo,
das Anschauen von einer Website ist nicht illegal, jedoch die Inhalte - ohne Genehmigung - zu speicher
und auf einer anderen Homepage anzuzeigen. Ob du die Daten selber speicherst,
oder ob du sie mit PHP ausliest ist da völlig egal.

mfg
forsterm


----------



## twinx (19. Februar 2006)

forsterm hat gesagt.:
			
		

> ...und auf einer anderen Homepage anzuzeigen. Ob du die Daten selber speicherst,
> oder ob du sie mit PHP ausliest ist da völlig egal.


Davon war aber nie die Rede.
MfG
twinx


----------



## SimonErich (19. Februar 2006)

Mich würde da interessieren wie Snoopy den Browser "imitiert"
Wie könnte man sowas machen ?


----------



## Dennis Wronka (19. Februar 2006)

Wahrscheinlich ganz einfach ueber den User-Agent, so mach ich es in meiner HTTP-Klasse auch.


----------



## SimonErich (19. Februar 2006)

Sry kann mir das grad gar nicht vorstellen.
WIe könnte man es über den User Agent machen.


----------



## Matthias Reitinger (19. Februar 2006)

SimonErich hat gesagt.:
			
		

> Mich würde da interessieren wie Snoopy den Browser "imitiert"
> Wie könnte man sowas machen ?


Snoopy ist quelloffen. Es stellt also kein Problem dar, den Quelltext zu begutachten und sich die Frage selbst zu beantworten. Dafür ist OSS schließlich unter anderem gedacht


----------

