Hallo,
Ich binde mit Hilfe von PHP Include eine Newsseite ein und erhalte folgende Fehlermeldung:
Warning: main(adresse.de/news.php): failed to open stream: HTTP request failed! HTTP/1.1 401 Authorization Required in adresse.de on line 5
Das heisst vermutlich, die gewuenschte Seite ist
in einem passwortgeschuetzten Bereich.
Wenn ich sie aber so aufrufe erscheint sie ganz normal.
... vermutlich, weil Du zuvor in Deinem Browser den
Benutzernamen und das Passwort fuer die Seite
eingetippt hast...
Ich binde die Seite mit include 'http://adresse.de/news.php'; ein.
Es ist grundsaetzlich sehr fahrlaessig und gefaehrlich,
fremden Quellcode mit include() einzubinden.
Da Du ja nur am HTML-Quellcode interessiert
bist und nicht willst, dass noch fremder
PHP-Quellcode bei Dir ausgefuehrt wird,
reichen readfile() oder file_get_contents().
Da die Seite in einem passwortgeschuetzten Bereich liegt,
musst Du allerdings mit PHP "Browser spielen", d.h.
ueber fsockopen() eine Verbindung zum fremden
Server herstellen, dort einen HTTP-Request (inklusive
Benutzername-/Passwort-Paar, das mit base64_encode()
verschluesselt wurde) absetzen und die HTTP-Antwort auswerten.
Als Grundlage duerften Dir dabei die Benutzerkommentare
auf der Manual-Seite zu fsockopen() helfen:
http://www.php.net/manual/de/function.fsockopen.php
Ich setze die Funktion connectToURL() von Ben Blazely
erfolgreich ein
Etwas aehnliches tut vermutlich die Klasse "Snoopy":
http://sourceforge.net/projects/snoopy/
Natuerlich musst Du das Einverstaendnis des Betreibers
der fremden Seite haben, wenn Du seine Inhalte
weiterverwenden willst.
HTH, Gruesse,
Thomas
Bitte keine Mails mit Fachfragen - dafuer gibt es das Forum!
Ich mag es, wenn URLs verlinkt sind (</faq/#Q-19>).
Oft gestellte PHP-Fragen beantwortet die dclp-FAQ bestens: http://www.dclp-faq.de/