Смысл простой:
curl_setopt($ch, CURLOPT_URL, $this->apiurl);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
//curl_setopt($ch, CURLOPT_HEADER, true);
//curl_setopt($ch, CURLOPT_CERTINFO, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $this->header);
curl_setopt($ch, CURLOPT_TIMEOUT, '60');
Вот этот код работал корректно и не менялся. Сейчас, по какой-то причине приходит крякозябра. Протокол соединения SSL 443
Крякозябра именно в ответе, а не в header. С головой все в порядке!
Если взять из командной строки создать запрос:
curl -H "Content-Type: application/json" -X POST -d '{"*":false,"*":"*","cookie":"*"}'
https://..
То все приходит без крякозябр. PHP стоит вместе с пакетом Vesta, возможно сертификат поменялся и старый остался в каком-то кэше(как исправить?) или что-то типа этого. Как все это поправить? Не хочется запускать curl через php system на получение данных.
ADD (header in)
HTTP/1.1 200 OK
Cache-Control: max-age=0, s-max-age=0, no-cache, no-store, private
Content-Encoding: gzip
Content-Type: application/json
Date: Sun, 30 Oct 2016 13:04:17 GMT
Expires: Sun, 30 Oct 2016 13:04:17 GMT
Last-Modified: Sun, 30 Oct 2016 13:04:17 GMT
Pragma: no-cache
Strict-Transport-Security: max-age=31536000; preload
Vary: Accept-Encoding
Content-Length: 27
Connection: keep-alive