Alternativen zu fsockopen()
Alternativen zu fsockopen()
Hallo,
ich möchte ein Abfragescript verwirklichen, dass auf eine externe URL zugreifen soll und von dort eine Antwort erhält.
Nun brauche ich nur die Angaben 1 und 0. Also könnte ich auch problemlos Header ausgeben, wie "404 Not Found" oder "200 OK".
Gibt es Funktionen, die eigentlich jeder aktiviert hat (manche haben auch fsockopen() deaktiviert) und wo ich eben diesen 1 und 0 Status mit ermitteln kann?
Gruß
Marc
ich möchte ein Abfragescript verwirklichen, dass auf eine externe URL zugreifen soll und von dort eine Antwort erhält.
Nun brauche ich nur die Angaben 1 und 0. Also könnte ich auch problemlos Header ausgeben, wie "404 Not Found" oder "200 OK".
Gibt es Funktionen, die eigentlich jeder aktiviert hat (manche haben auch fsockopen() deaktiviert) und wo ich eben diesen 1 und 0 Status mit ermitteln kann?
Gruß
Marc
meine Foren: http://www.maxrev.de/communities.htm
Ich kaufe Dein Forum! Angebote bitte an marc at gutt punkt it
Ich kaufe Dein Forum! Angebote bitte an marc at gutt punkt it
Das Problem ist, dass das Script für alle sein soll. D.h. ich kann bei denen nichts installieren. Demnach würde Snoopy rausfallen.
Bei curl gibt es ja einige Server, die die Klasse vorinstalliert haben.
Daneben haben wir dann noch fsockopen() und pfsockopen(), welche aber über Safemode = ON verboten werden. Betrifft das auch curl()?
Gibt es keine Funktion mit der man nur die "ungefährlichen" Header einlesen kann? Wie gesagt, ich könnte auch nur den Status ausgeben. Mir geht es nicht um den Inhalt auf der Zielseite (nicht unbedingt), aber ich muss zumindest einen Dateinamen angeben können (also ein Ping auf die Domain würde nicht reichen).
Derzeit sieht meine Planung folgende zu prüfende Reihenfolge vor:
1. fopen()
2. fsockopen()
3. pfsockopen() (lohnt sich Prüfung darauf dann noch?)
4. curl()
D.h. ich schreibe mein Script so, dass jede Funktion auf die Verfügbarkeit hin testet. Nur wenn Safemode auch curl() deaktiviert, könnte ich keine der Möglichkeiten nutzen.
Bei curl gibt es ja einige Server, die die Klasse vorinstalliert haben.
Daneben haben wir dann noch fsockopen() und pfsockopen(), welche aber über Safemode = ON verboten werden. Betrifft das auch curl()?
Gibt es keine Funktion mit der man nur die "ungefährlichen" Header einlesen kann? Wie gesagt, ich könnte auch nur den Status ausgeben. Mir geht es nicht um den Inhalt auf der Zielseite (nicht unbedingt), aber ich muss zumindest einen Dateinamen angeben können (also ein Ping auf die Domain würde nicht reichen).
Derzeit sieht meine Planung folgende zu prüfende Reihenfolge vor:
1. fopen()
2. fsockopen()
3. pfsockopen() (lohnt sich Prüfung darauf dann noch?)
4. curl()
D.h. ich schreibe mein Script so, dass jede Funktion auf die Verfügbarkeit hin testet. Nur wenn Safemode auch curl() deaktiviert, könnte ich keine der Möglichkeiten nutzen.

Zuletzt geändert von mgutt am 11.06.2007 16:38, insgesamt 2-mal geändert.
meine Foren: http://www.maxrev.de/communities.htm
Ich kaufe Dein Forum! Angebote bitte an marc at gutt punkt it
Ich kaufe Dein Forum! Angebote bitte an marc at gutt punkt it
- killerbees19
- Mitglied
- Beiträge: 1185
- Registriert: 09.05.2006 17:33
- Wohnort: Wien (Österreich)
- Kontaktdaten:
HTTPConnection arbeiten mit fsockopen()killerbees19 hat geschrieben:Wirf mal darauf einen Blick: http://php-classes.sourceforge.net/
HTTPConnection
MfG Christian

meine Foren: http://www.maxrev.de/communities.htm
Ich kaufe Dein Forum! Angebote bitte an marc at gutt punkt it
Ich kaufe Dein Forum! Angebote bitte an marc at gutt punkt it
- killerbees19
- Mitglied
- Beiträge: 1185
- Registriert: 09.05.2006 17:33
- Wohnort: Wien (Österreich)
- Kontaktdaten:
Sorry, hab deinen Post gar nicht mehr gesehen...
Das schon, ist aber trotzdem praktisch das zu kennen.
Ohne fsockopen() oder CURL wirds jedenfalls meiner Meinung nach unmöglich sein, die Headerdaten zu bekommen
Ich würde mal sagen, wer alles deaktiviert hat -> Pech gehabt
MfG Christian
Das schon, ist aber trotzdem praktisch das zu kennen.
Ohne fsockopen() oder CURL wirds jedenfalls meiner Meinung nach unmöglich sein, die Headerdaten zu bekommen

Ich würde mal sagen, wer alles deaktiviert hat -> Pech gehabt

MfG Christian
» Real programmers don't comment. If it was hard to write, it should be hard to understand!
- tas2580
- Ehemaliges Teammitglied
- Beiträge: 3029
- Registriert: 01.07.2004 05:42
- Wohnort: /home/tas2580
- Kontaktdaten:
Zwar nicht ganz was du suchst, aber vielleicht hilft dir ja get_meta_tags weiter.
Heute ist ein guter Tag um dein Forum zu testen.
Ehemaliger Benutzername: [BTK] Tobi
Ehemaliger Benutzername: [BTK] Tobi
Was haltet ihr von:
get_meta_tags()
So müsste ich bei einem 404 Status das richtige Ergebnis erhalten:
Denn get_meta_tags() produziert eine Fehlermeldung, wenn die Seite einen 404 Header sendet.
und wenn PHP5 vorhanden ist von:
get_headers()
Noch einfacher. Hier gebe ich einfach nur den HTTP Status 404 bzw. 200 entsprechend aus.
Können diese Funktionen beim Anwender ebenfalls deaktiviert worden sein?
Gruß
Edit:
@ [BTK] Tobi
Hatte ich auch gerade gefunden
get_meta_tags()
So müsste ich bei einem 404 Status das richtige Ergebnis erhalten:
Code: Alles auswählen
if ( !@get_meta_tags('http://www.example.com/') )
und wenn PHP5 vorhanden ist von:
get_headers()
Noch einfacher. Hier gebe ich einfach nur den HTTP Status 404 bzw. 200 entsprechend aus.
Können diese Funktionen beim Anwender ebenfalls deaktiviert worden sein?
Gruß
Edit:
@ [BTK] Tobi
Hatte ich auch gerade gefunden

meine Foren: http://www.maxrev.de/communities.htm
Ich kaufe Dein Forum! Angebote bitte an marc at gutt punkt it
Ich kaufe Dein Forum! Angebote bitte an marc at gutt punkt it
Stimmt. Snoopy arbeitet aber auch mit fsockopen(). Alternativ bei SSL arbeitet Snoopy mit exec() und der vorinstallierten curl-Klasse.Jan500 hat geschrieben:hm snoopy ist doch (so wie ich das sehe) eine php classe, also du kannst die enthaltene php einfach inlcuden unf auf die class zugreifen
Jan
Aber exec() halte ich bei den meisten Servern für unwahrscheinlich, das es verfügbar wäre.
get_meta_tags() ist bisher am interessantesten für mich. Ich kann im Netz eigentlich auch kein Info finden, wo Nutzer die Funktion nicht nutzen konnten.
Ich frag mich nur, ob die Funktion ein Timeout hat

Gruß
Marc
Zuletzt geändert von mgutt am 11.06.2007 17:22, insgesamt 2-mal geändert.
meine Foren: http://www.maxrev.de/communities.htm
Ich kaufe Dein Forum! Angebote bitte an marc at gutt punkt it
Ich kaufe Dein Forum! Angebote bitte an marc at gutt punkt it