Skip to content

Instantly share code, notes, and snippets.

What would you like to do?
Workaround in PHP cURL for the 100-continue expectation
// cURL obeys the RFCs as it should. Meaning that for a HTTP/1.1 backend if the POST size is above 1024 bytes
// cURL sends a 'Expect: 100-continue' header. The server acknowledges and sends back the '100' status code.
// cuRL then sends the request body. This is proper behaviour. Nginx supports this header.
// This allows to work around servers that do not support that header.
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Expect:'));
// We're emptying the 'Expect' header, saying to the server: please accept the body right now.
// Read here:
Copy link

jkoo7yeha commented Apr 21, 2016


Copy link

mattseabrook commented Jan 19, 2018

Thanks for this!

Copy link

Jcs1994 commented Jun 12, 2018


Copy link

SdVSysAdmin commented Jul 18, 2018


Copy link

lsloan commented Jan 18, 2019

Copy link

RicardoOyarzun commented Sep 25, 2019

Thank you! You save me

Copy link

gersonfs commented Jan 25, 2022

Thank you!

Copy link

therbta commented May 10, 2022

It worked.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment