curl Expect:100-continue
Wenn bei Verwendung von Curl-POST-Daten die POST-Daten größer als 1024 Bytes sind, wird Curl nicht direkt ausgeführt Starten Sie einfach eine POST-Anfrage. Stattdessen erfolgt dies in zwei Schritten.
1. Senden Sie eine Anfrage mit einem Expect:100-continue im Header, um den Server zu fragen, ob er bereit ist, Daten zu akzeptieren.
2. Nachdem Sie die 100-continue-Antwort vom Server erhalten haben, senden Sie die Daten per POST an den Server.
Dies wird durch libcurl definiert. Einzelheiten finden Sie in der entsprechenden Beschreibung: http://www.w3.org/Protocols/rfc2616/rfc2616-sec8.html #sec8.2.3
Es wird also ein Problem auftreten. Nicht alle Server antworten mit 100-continue. Beispielsweise gibt lighttpd „417 Expectation Fail“ zurück, was zu logischen Fehlern führt.
Die Lösung ist wie folgt: Beim Senden einer Anfrage enthält der Header einen leeren Expect.
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Expect:"));
Das Obige hat Curl Expect:100-continue eingeführt, einschließlich der relevanten Inhalte. Ich hoffe, es wird für Freunde hilfreich sein, die sich für PHP-Tutorials interessieren.