У кого-нибудь есть опыт работы с API-интерфейсом переводчика Google v2 для перевода HTML с использованием PHP CURL на метод POST?
Я пробовал несколько кодов и библиотек из github, но ни один из них не излагал для меня. То, что я нашел, – это методы GET.
Из-за ограничения на синтаксический анализ данных по GET или строке запроса, я не могу отправить большие данные HTML для перевода.
Я ищу решение / фрагменты, которые могут переводить буферизованные данные с использованием CURL
Вот мое решение
$handle = curl_init(); if (FALSE === $handle) throw new Exception('failed to initialize'); curl_setopt($handle, CURLOPT_URL,'https://www.googleapis.com/language/translate/v2'); curl_setopt($handle, CURLOPT_RETURNTRANSFER, 1); curl_setopt($handle, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($handle, CURLOPT_POSTFIELDS, array('key'=> 'apikey', 'q' => 'Testing message', 'source' => 'en', 'target' => 'cs')); curl_setopt($handle,CURLOPT_HTTPHEADER,array('X-HTTP-Method-Override: GET')); $response = curl_exec($handle);
Вы также можете использовать POST для вызова API, если вы хотите отправить больше данных в один запрос. Параметр q в корпусе POST должен быть менее 5K символов. Чтобы использовать POST, вы должны использовать заголовок X-HTTP-Method-Override, чтобы сообщить API-интерфейсу Translate API для обработки запроса как GET (используйте X-HTTP-Method-Override: GET).
Документация API Google Translate