fsockopen...

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
Benutzeravatar
saerdnaer
Ehemaliges Teammitglied
Beiträge: 4268
Registriert: 21.04.2001 02:00

fsockopen...

Beitrag von saerdnaer »

hi
ich wollte neulich mit folgendem script die seite www.planspiel-boerse.de ansprechen... allerdings ohne erfolg... als ich dann phpbb.de angesprochen habe hats funktioniert...

Code: Alles auswählen

<?php
$host = 'www.planspiel-boerse.de;
$path = '/';
$reffrer = '';
$data_to_send = 'c=1'; 
$fp = fsockopen($host, 80, &$errno, &$errstr, 30);
if (!$fp)
{
    die ("fehler: $errstr ($errno) <br />");
}

  fputs($fp, "POST $path HTTP/1.1\n");
  fputs($fp, "Host: $host\n");
  fputs($fp, "Referer: $referer\n");
  fputs($fp, "Content-type: application/x-www-form-urlencoded\n");
  fputs($fp, "Content-length: ".strlen($data_to_send)."\n");
  fputs($fp, "Connection: close\n\n");
  fputs($fp, "$data_to_send\n");

$i=0;
  while(!feof($fp) && $i < 1000) {
      echo fgets($fp, 4096);
	$i++;
  }
  fclose($fp);
?>
weiß einer von euch wie es evl. auch mir www.planspiel-boerse.de funktioniert?

ah
Benutzeravatar
Pyramide
Ehrenadmin
Beiträge: 12734
Registriert: 19.04.2001 02:00
Wohnort: Meschede

Beitrag von Pyramide »

Wie du, wenn du die URL im Browser eingibst, siehst, ist auf www.planspiel-boerse.de nur eine Weiterleitung nach www.planspiel-boerse.com . Wenn du also nicht den HTTP/302 Header manuell auswerten willst verwende doch einfach die .com Seite :roll:
saerdnaer_

Beitrag von saerdnaer_ »

ja das weiß ich auch... aber ich will ja auf einen unterordner der .de zugreifen und der existiert auf der .com nicht...
Benutzeravatar
Pyramide
Ehrenadmin
Beiträge: 12734
Registriert: 19.04.2001 02:00
Wohnort: Meschede

Beitrag von Pyramide »

Dann nimm doch fopen, die Funktion unterstützt seit PHP 4.0.5 Weiterleitungen
Benutzeravatar
saerdnaer
Ehemaliges Teammitglied
Beiträge: 4268
Registriert: 21.04.2001 02:00

Beitrag von saerdnaer »

ja aber bei der funktion kann ich keine post parameter übermitteln...
ich hab die seite mal mit der funktion hier angesprochen... http://leknor.com/code/gziped.php und mit der gehts, obwohl sie auch mit fsockopen arbeitet...

ah
makue
Mitglied
Beiträge: 282
Registriert: 18.07.2002 07:58
Wohnort: Böblingen
Kontaktdaten:

Beitrag von makue »

Sorry, ich weiß, der Thread ist uralt, aber über Google habe ich nichts finden können, nur diese Seite hier, die wirklich das Problem beschreibt.

Ich habe ebenfalls versucht über fsockopen URLs zu öffnen und bekomme von zahlreichen Seiten dann ein Redirect (302), obwohl die Seiten mit einem Browser besucht keinen redirect machen, auch nicht mit dem leknor-Script. Wie hier auch schon berichtet wurde, funktioniert es mit phpbb.de:

http://www.webdatabox.de/get/www.phpbb.de

jedoch nicht mit dieser Seite:

http://www.webdatabox.de/get/www.nenafan.de

Das redirect kommt von Confixx, ich habe aber keine Ahnung warum. Ich habe schon alles Mögliche in den request gesteckt, aber ich bekomme immer wieder dieses redirect bei diversen Seiten.

Über irgendwelche Tipps wäre ich sehr dankbar. Und sorry, dass ich das alte Thema noch einmal aufgemacht habe.

Mario
makue
Mitglied
Beiträge: 282
Registriert: 18.07.2002 07:58
Wohnort: Böblingen
Kontaktdaten:

Beitrag von makue »

Also im bin inzwischen ein Schritt weiter, denke ich. Es sieht so aus, als ob versucht wird die URL mit der IP zu öffnen. Bei Websites wo es nur eine URL pro IP gibt, geht das auch. Nur auf Servern wo mehrere URLs die gleiche IP haben, geht das nicht mehr. Dann gibt es dieses redirect auf eine andere Seite, meist auf die Konfigurationsseite des Servers für die Webpräsenzen (wie in meinem Fall Confixx).

Allerdings habe ich keine Ahnung, und konnte auch nichts finden, wie ich dem Server sagen kann, welche URL ich möchte. Also, wenn jemand ein Tipp hat, ich wäre sehr dankbar!

Mario

Nachtrag: Hat sich erledigt, habe rausbekommen woran es liegt. Ich staune nur, dass das nirgends steht bzw. ich es nicht gefunden habe.

Fürs Archiv: Will man mit fsockopen auf Websites zugreifen die auf servern sind wo meherere URLs unter der gleichen IP existieren, reicht es nicht einfach die URL zu öffnen und versuchen die Datei zu lesen. Man muss zusätzlich die URL als Host mit als request schicken. Banal und einfach und auch logisch, wenn man sich überlegt, wie der Server rausfinden soll welche URL gemeint ist! :grin:

Nachtrag2: Jetzt, wo ich weiss wonach man suchen muss, finde ich die Lösung auch im Internet. Stimmt also nicht, dass es nirgends steht! :wink:
Antworten

Zurück zu „Coding & Technik“