2016-04-20 13 views
1

Ich baue ein PHP-Skript, das prüft, ob eine URL erreichbar ist. Dies wird derzeit mit cURL erreicht. Dieses Skript ist Teil einer größeren Anwendung, die dieses cURL-Script sehr oft aufruft.Gibt es eine schnellere/bessere Möglichkeit zu überprüfen, ob eine URL erreichbar ist als cURL?

Also ich frage mich, ob es einen schnelleren/besseren Weg als cURL gibt. Bisher konnte nicht ich nichts außer diesem article von dieser Frage finden: What is faster than curl?

Das hilft mir nicht, da ich die folgenden Anforderungen für die Prüfung haben:

  • folgen muss
  • umleitet Muss eine HTTP zurückkehren -status-Code (wie 200 oder 404)
  • Muss in der Lage sein zu (.htaccess) zu authentifizieren

EDIT:

  • Muss
+1

Sie können versuchen, file_get_contents mit einem Headerkontext zu verwenden und einen Test auszuführen. http://php.net/manual/de/function.file-get-contents.php – KiwiJuicer

+1

Das Problem ist nicht in 'cURL' ist langsam, das Problem liegt in der gesamten Anfrage> Folge Antwort> endlich wieder ankommen. Wenn Sie 'cURL' für einen anderen Mechanismus/eine andere Bibliothek austauschen, die HTTP versteht, werden DNS, Remote-Webserver und Skripts nicht schneller. – Mjh

+0

@Mjh Könnten Sie Ihren Kommentar als Antwort eingeben, damit ich ihn akzeptieren kann? – Marcus

Antwort

1

Wie pro Kommentar in PHP abgesicherten Modus arbeiten, ist die Ursache der Langsamkeit ist nicht die cURL Bibliothek. Es gibt ein ganzes System hinter HTTP, wie DNS, Webserver, die Konnektivität zu diesen Servern und schließlich - jeder Standort/Dienst verwendet eine Art serverseitige Sprache, um Arbeit zu verrichten, was auch langsam sein kann. Sie müssen herausfinden, was genau in dieser Kette nicht schnell genug reagiert - ist es DNS? Ist es die Verbindung Ihres Servers mit dem Dienst, zu dem Sie eine Verbindung herstellen? Ist der Dienst selbst langsam?

Sie können 100% sicher sein, dass es nicht cURL ist.

Verwandte Themen