curl
PHP cURL и проблема HTTP/HTTPS запросов в nginx и lighttpd
У cURL есть неприятная, в некоторых случаях, особенность: при установке поля CURLOPT_POSTFIELDS, cURL устанавливает в заголовке «Expect:
Lighttpd выдаёт код ответа 417, а nginx (по крайней мере на HTTPS запросах) даёт паузу примерно в две секунды. Решение простое: убрать «Expect» из заголовков. В PHP это делается вот так:
curl_set_opt($connection, CURLOPT_HTTPHEADER, array('Expect:'));На поиск этого решения ушло полдня работы, так как мы не знали что именно вызывает проблему.