Heim >Backend-Entwicklung >PHP-Tutorial >Curl Expect:100-continue

Curl Expect:100-continue

WBOY
WBOYOriginal
2016-08-08 09:31:391369Durchsuche

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.

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn