URL, die nicht von file_get_contents abgerufen wird, weil ihr Server überprüft, ob die Anfrage vom Browser oder einem Skript kommt. Wenn sie eine Anfrage vom Skript gefunden haben, deaktivieren sie einfach den Seiteninhalt.
Also muss ich eine Anfrage ähnlich wie bei einer Browseranfrage stellen. Also habe ich folgenden Code verwendet, um den 2. URL-Inhalt zu erhalten. Es kann für verschiedene Webserver anders sein. Weil sie vielleicht andere Überprüfungen behalten.
Warum versuchen Sie nicht, den folgenden Code zu verwenden? Wenn du Glück hast, könnte das für dich funktionieren!
%Vor%Danke allen für die Anleitung.
Leider scheint die zweite Seite den Zugriff von unbekannten Browsern zu blockieren. Sogar die Verwendung von curl von der Befehlszeile funktioniert nicht:
%Vor%gibt:
%Vor%aber kein Inhalt. Beachten Sie, dass es den Status 200 zurückgibt. Wenn Sie also die zurückgegebene Zeichenfolge für boolean === false überprüfen, um festzustellen, ob sie fehlgeschlagen ist, wird sie tatsächlich so aussehen, als ob sie funktioniert hätte.
Wenn Sie das Useragent (und möglicherweise andere Dinge) fälschen müssen, um die URL zu erhalten, um Ihre Anfrage zu akzeptieren, müssen Sie den Sprung mit den Curl-Bibliotheken wagen und verschiedene Kombinationen ausprobieren, um zu versuchen, es zum Laufen zu bringen. Das Experimentieren, um zu sehen, was zuerst mit der curl-Befehlszeile funktioniert, wäre auch eine gute Möglichkeit, die Entwicklungszeit bei der Untersuchung zu reduzieren.
Hier ist jemand, der das schon einmal durchgemacht hat:
php curl: Wie kann ich eine get-Anfrage genau wie einen Web-Browser emulieren?
Tags und Links php curl file-get-contents