In PHP sind Curl_getInfo () und Curl_Upkeep () beide Funktionen, die sich auf die Curl -Bibliothek beziehen. Curl (Client -URL -Bibliothek) ermöglicht es PHP, mit verschiedenen Netzwerkdiensten zu interagieren, z. B. das Abrufen von Webseiteninhalten, das Senden von Formulardaten oder die Kommunikation mit anderen Netzwerkanwendungen. Das Verständnis der Rolle dieser beiden Funktionen und ihrer Wechselbeziehungen ist für eine effiziente Netzwerkprogrammierung von entscheidender Bedeutung.
Schauen wir uns zunächst die Funktion curl_getInfo () an. Diese Funktion wird verwendet, um relevante Informationen zu einer Curl -Sitzung zu erhalten. Wenn Sie eine Curl -Anforderung einleiten, kann Curl_getInfo () verschiedene Details zur Anforderung angeben, z. B. HTTP -Statuscode, Anforderungszeit, Antwort -Header -Informationen usw. Diese Funktion wird wie folgt verwendet:
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://example.com");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
$info = curl_getinfo($ch);
print_r($info);
curl_close($ch);
Im obigen Code gibt Curl_getInfo () ein assoziatives Array mit den Anforderungsinformationen zurück. Diese Informationen umfassen, aber nicht beschränkt auf:
URL : Die angeforderte URL.
HTTP_CODE : Der zurückgegebene HTTP -Statuscode.
Total_time : Die auf Anfrage aufgewendete Gesamtzeit.
size_download : Die Anzahl der heruntergeladenen Bytes.
Lassen Sie uns als nächstes die Funktion curl_upkeep () vorstellen. Die Funktion besteht darin, den Verbindungszustand der aktuellen Curl -Sitzung beizubehalten, und in einigen Fällen kann sie dazu beitragen, den Overhead der Verbindungseinrichtung zu verringern, insbesondere bei mehreren ähnlichen Anforderungen.
Angenommen, wir haben eine Reihe von ähnlichen Anfragen zum Senden, und die Wiederherstellung der Verbindung zu Leistungsproblemen führt zu Leistungsproblemen. Zu diesem Zeitpunkt kann durch Verwendung von Curl_Upkeep () eine aktive Verbindung aufbewahrt werden, damit nachfolgende Anforderungen verwendet werden sollen, wodurch die Effizienz verbessert wird.
Curl_Upkeep () wirkt sich jedoch nicht direkt auf Ihren Zugriff auf die Details der Curl -Anfrage aus, sondern konzentriert sich hauptsächlich auf die Aufrechterhaltung der Verbindung. Auf diese Weise werden nachfolgende Anfragen die Verbindung nicht wiederhergestellt, sondern die vorhandene Verbindung weiterhin verwenden, wodurch Ressourcen gespeichert werden.
Angenommen, wir führen zuerst eine Curl -Anfrage aus und rufen dann Curl_Upkeep () an, um die Anfrage weiterhin zu initiieren. Bei Verwendung von curl_getInfo () können einige signifikante Änderungen vorliegen, insbesondere in den folgenden Aspekten:
Änderungen in der Anforderungszeit ( Total_time ) <br> Wenn Sie mehrere Anfragen ausführen, ist die Total_time relativ lang, wenn die Verbindung für jede Anforderung wiederhergestellt wird. Wenn Sie jedoch curl_upkeep () verwenden, können nachfolgende Anfragen die vorherige Verbindung wiederverwenden, sodass die Anfragezeit erheblich reduziert wird. Die von curl_getInfo () zurückgegebene Total_Time spiegelt diese Leistungsverbesserung wider.
Änderungen im HTTP -Statuscode ( http_code ) <br> <br> Wenn die Anforderung erfolgreich ist, ändert sich HTTP_CODE möglicherweise nicht wesentlich, aber wenn beim Multiplexing der Verbindung ein Netzwerkschwankung oder Fehler vorliegt, kann der Rückgabewert von http_code eine andere Fehlermeldung anzeigen. Beispielsweise kann ein Statuscode für den Verbindungswiederholung oder eine Zeitüberschreitung auftreten.
Änderungen des URL -Domänennamens <br> Die URL wird jedes Mal zurückgegeben, wenn Sie curl_getInfo () verwenden, um Informationen zu erhalten. Wenn sich der von uns angeforderte Domänenname geändert hat ( z .
Wenn wir beispielsweise in der ersten Anforderung http://example.com verwenden und dann curl_upkeep () aufrufen, kann eine neue URL im Rückgabewert von curl_getInfo () eine neue URL angezeigt werden:
// Erste Anfrage
curl_setopt($ch, CURLOPT_URL, "http://example.com");
$info = curl_getinfo($ch);
// Anruf curl_upkeep
curl_upkeep($ch);
// Senden Sie eine nachfolgende Anfrage,Domainnamenänderung
curl_setopt($ch, CURLOPT_URL, "http://m66.net");
$info = curl_getinfo($ch); // Zurückgekehrt URL Wird sein m66.net
Im Allgemeinen wird Curl_Upkeep () hauptsächlich verwendet, um die Curl -Sitzung aktiv zu halten und eine häufige Verbindungseinrichtung zu vermeiden, die die Leistung verbessern kann. Curl_getInfo () wird verwendet, um detaillierte Informationen zur aktuellen Curl -Sitzung zu erhalten. Es spiegelt Änderungen in der Anforderungszeit wider, Statuscode, angeforderte URL und andere Informationen vor und nach Curl_Upkeep () werden aufgerufen. Nach Verwendung von Curl_Upkeep () werden Sie daher feststellen, dass die von curl_getInfo () zurückgegebenen Informationen, insbesondere in Bezug auf die Anfrage und Änderungen des Domänennamens (z. B. URL), unterschiedlich sind.
Durch die Verwendung dieser beiden Funktionen können Entwickler Netzwerkanforderungen effizienter gestalten, die Leistung optimieren und die Reaktionsgeschwindigkeit der Anwendung verbessern.