get_headers
führt standardmäßig eine GET-Anfrage durch, während Sie cURL für eine HEAD-Anfrage konfiguriert haben. Beginnen Sie damit, dass Sie die Anfrage identisch mit der von cURL gesendeten Anfrage stellen, indem Sie einen anderen HTTP-Stream-Kontext HEAD für die Anfrage-Methode verwenden.
Auch der Server scheint einen User Agent zu erwarten, also stellen Sie sicher, dass Sie entweder bereitstellen user_agent
in php.ini oder füge es dem Stream-Kontext hinzu.
Folgendes sollte funktionieren:
%Vor%Siehe Ссылка
Beachten Sie, dass stream_context_set_default
den globalen Standard-Stream-Kontext ändert, sodass alle Aufrufe von anderen Methoden, die diesen Stream-Wrapper verwenden, HEAD-Anforderungen jetzt ausführen, sobald Sie die oben genannten aufgerufen haben. Anders als beispielsweise erlaubt file_get_contents
, get_headers
nicht, einen benutzerdefinierten Stream-Kontext über Argumente an die Funktion zu liefern. Mit anderen Worten, stellen Sie sicher, dass Sie die Methode zurück in GET ändern, nachdem Sie die Header erhalten haben.
Tags und Links php curl http-headers