Ошибки HTTP 405 возникают, когда веб-сервер не разрешает HTTP-метод для запрошенного URL-адреса.
Сделайте тот же запрос из браузера и проверьте заголовки запроса. Убедитесь, что вы используете правильный метод get, post или put при отправке запроса. Также проверьте, отправляются ли дополнительные заголовки с запросом, так как некоторые URL-адреса разрешены только из запроса ajax, и вы можете добиться этого, добавив соответствующие заголовки с запросом.
Вы можете отправить дополнительные заголовки, используя метод ниже
curl_setopt($curl, CURLOPT_HTTPHEADER, array(
"Accept-Charset" => "ISO-8859-1,utf-8;q=0.7,*;q=0.7",
"Keep-Alive" => "115",
"Connection" => "keep-alive",
"X-Requested-With" => "XMLHttpRequest"
));