PHP cURL benötigt nur senden und nicht auf Antwort warten

9

Ich brauche eine PHP cURL-Konfiguration, damit mein Skript Anfragen senden und die von der API gesendeten Antworten ignorieren kann.

%Vor%

Ich habe versucht, Folgendes hinzuzufügen: // curl_setopt ($ ch, CURLOPT_RETURNTRANSFER, false); // curl_setopt ($ ch, CURLOPT_TIMEOUT_MS, 100);

Aber es funktioniert nicht richtig und der API-Webserver empfängt die Anfragen nicht.

Der Grund dafür ist, dass ich eine große Anzahl von Anfragen an die API sende, daher ist mein Skript sehr langsam, weil es auf jede Anfrage wartet.

Jede Hilfe ist willkommen.

    
Reza 06.11.2011, 02:26
quelle

4 Antworten

7

'

%Vor%

// testen

'

    
Kamil Dąbrowski 05.06.2012, 10:08
quelle
3

Wenn möglich, können Sie wget im Hintergrund ausführen (mit exec )

    
neworld 08.11.2011 22:30
quelle
2

Ein bisschen spät, aber die Lösung für alle Interessierten ist, dass CURLOPT_RETURNTRANSFER auf TRUE gesetzt werden muss, nicht auf false. Auf diese Weise gibt die Funktion curl_exec sofort einen Wert zurück, anstatt darauf zu warten, dass die Anforderung vor der Rückgabe abgeschlossen wird - d. H., Sie agiert asynchron statt synchron.

%Vor%     
ljelewis 28.01.2013 14:35
quelle
0

Wie können Sie feststellen, ob die Anfrage erfolgreich war oder nicht? Sie müssen mindestens auf den Statuscode vom Server warten, um dies festzustellen. Wenn die Latenz das Problem ist, sehen Sie sich die curl multi-API an, um mehrere Anfragen parallel auszuführen. Sie sollten in der Lage sein, eine Schreib-Callback-Funktion zu setzen, um den Empfang von zurückgegebenen Daten abzubrechen, sobald der Status-Code zurückgegeben wurde.

    
Dan 08.11.2011 22:27
quelle

Tags und Links