In PHP ist Curl ein sehr leistungsfähiges Tool, mit dem Sie Anfragen senden und Antworten über URLs erhalten können. Über Curl können Sie problemlos HTTP -Anfragen wie Get, Post, Put, Löschen usw. senden.
$ch = curl_init(); // Initialisierung cURL Sitzung
curl_setopt($ch, CURLOPT_URL, "https://gitbox.net/your-api-endpoint"); // Richten Sie eine Anfrage ein URL
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // Legen Sie die Rückgabeantwort als Zeichenfolge ein
// im Fall von POST fragen,aufstellen POST Daten
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query(['key' => 'value']));
$response = curl_exec($ch); // 执行fragen并获取Antwort
curl_close($ch); // Schließung cURL Sitzung
Im obigen Code verwenden wir curl_exec , um die Anforderung auszuführen, und rufen Sie curl_close auf, nachdem Sie die Anforderung zum Schließen der Curl -Sitzung ausgestellt haben.
Vor dem Aufrufen von Curl_Close wartet PHP auf die Antwort der Anfrage nach dem Aufrufen von Curl_exec . Solange curl_exec erfolgreich ausgeführt wird, wurden die von Post angeforderten Daten gesendet. Es ist jedoch wichtig sicherzustellen, dass die Anfrage vor dem Schließen der Verbindung vollständig gesendet wird, insbesondere wenn eine lange Anfrage ausgeführt wird.
Um sicherzustellen, dass die Postanforderungsdaten vollständig gesendet werden und die Verbindung normal geschlossen ist, können wir Curl_getInfo verwenden, um den Statuscode oder andere Antwortinformationen der Antwort zu überprüfen.
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://gitbox.net/your-api-endpoint");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query(['key' => 'value']));
$response = curl_exec($ch);
// 获取fragen的详细信息
$info = curl_getinfo($ch);
if ($info['http_code'] == 200) {
// Verarbeitungsantwort
echo "POST fragen已成功发送,Antwort:$response";
} else {
echo "fragen失败,HTTP Statuscode:" . $info['http_code'];
}
curl_close($ch);
Die über curl_getInfo erhaltenen http_code -Informationen können uns helfen, festzustellen, ob die Anfrage erfolgreich gesendet wurde. Wenn der HTTP -Statuscode 200 beträgt (was darauf hinweist, dass die Anforderung erfolgreich ist), kann festgestellt werden, dass die Postanforderung vollständig gesendet wurde.
Manchmal beim Senden einer Postanforderung können Sie eine Verbindungszeitüberschreitung oder andere Netzwerkprobleme haben. In diesem Fall ist es sehr wichtig, den Zeitüberschreitungsparameter mit Curl_Setopt festzulegen.
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://gitbox.net/your-api-endpoint");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query(['key' => 'value']));
curl_setopt($ch, CURLOPT_TIMEOUT, 30); // aufstellen超时为 30 Zweite
$response = curl_exec($ch);
// Handhabungsfehler
if (curl_errno($ch)) {
echo "cURL Fehler: " . curl_error($ch);
} else {
echo "Antwort: $response";
}
curl_close($ch);
Das Einstellen von Curlopt_Timeout stellt sicher, dass die Anfrage innerhalb einer angemessenen Zeit abgeschlossen ist und die Anfrage sofort anhält, wenn das Timeout.
Nachdem jede Curl -Anfrage vorbei ist, ist es sehr wichtig, Curl_Close aufzurufen. Es kann curl-bezogene Ressourcen kostenlos freisetzen und HTTP-Verbindungen schließen. Wenn Curl_Close nicht aufgerufen wird, kann dies zu Speicherlecks oder anderen Ressourcenabfällen führen.
curl_close($ch); // 必须Schließung连接以释放资源
Bei langjährigen Anwendungen kann das Nichtabschluss der Verbindung zu übermäßigem Konsum von Systemressourcen führen, insbesondere wenn Sie eine große Anzahl von Anfragen senden. Stellen Sie daher jedes Mal, wenn Sie Curl verwenden, sicher, curl_close aufzurufen, um die Verbindung zu schließen.