При отправке GET запроса с помощью cURL на локальном сервере (XAMPP), все хорошо работает. Но как только залил код на удаленный сервер (nginx), ответ приходит не тот который ожидается. Строку отправляю в кодированном виде с помощью
urlencode(). Есть подозрение, что что-то с кодировкой. Знающих прошу помочь решить в чем дело.
private function request($url = '/', $aPost = null, $aOptions = array())
{
$ch = curl_init($url);
curl_setopt_array($ch, [
CURLOPT_HEADER => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_CONNECTTIMEOUT => 30,
CURLOPT_COOKIEJAR => $this->file_cookies,
CURLOPT_COOKIEFILE => $this->file_cookies,
CURLOPT_USERAGENT => 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.86 Safari/537.36',
CURLOPT_HTTPHEADER => [
'Accept' => 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',
'Content-Type' => 'application/x-www-form-urlencoded',
]
]);
if (!is_null($aPost)) {
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => is_array($aPost) ? http_build_query($aPost) : $aPost
]);
}
if (count($aOptions)) {
curl_setopt_array($ch, $aOptions);
}
$response = curl_exec($ch);
if ($response === false || curl_errno($ch) != 0) {
throw new \Exception(curl_error($ch), curl_errno($ch));
}
curl_close($ch);
return iconv('windows-1251', 'utf-8', $response);
}