Задать вопрос
@Devastor
I ❤❤❤ JAVASCRIPT

Как делать POST запрос к API Переводчика Yandex?

GET запрос работает коректно, ключ свежий и без превышения лимита, но при попытке сделать POST запрос, браузер ожидаемо сперва делает OPTIONS запрос, так вот по какой то непонятной причине api яндекса отвечает на OPTIONS - пустым ответом со статусом 403 следовательно запрос POST не выполняется.
При POST запросе через, к примеру, POSTMAN всё работает верно.

Что я делаю не так?
  • Вопрос задан
  • 1503 просмотра
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 1
@Eugeny1987
Работаю с HostCMS
function translate($string)
	{
		$url = 'https://translate.yandex.net/api/v1.5/tr.json/translate?';
		
		$aParams = array();
		$aParams['key'] = 'ключ';
		$aParams['text'] = $string;
		$aParams['lang'] = 'ru-en';
		$aParams['format'] = 'plain';

		$url = $url . http_build_query($aParams);
		$ch = curl_init();
		curl_setopt($ch, CURLOPT_URL, $url);
		curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
		curl_setopt($ch, 156, 5000);
		curl_setopt($ch, CURLOPT_ENCODING , "");
		$data = curl_exec($ch);
		curl_close($ch);

		if (strlen($data))
		{
			$oData = json_decode($data);

			if (is_object($oData) && $oData->code == 200 && isset($oData->text[0]))
			{
				return $oData->text[0];
			}
		}

		return NULL;
	}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы