Яндекс переводчик - api+php

Romaldo
На сайте с 10.02.2008
Offline
185
6084

Здравствуйте!

Накопал код для автоматического перевода с помощью яндекс переводчика и его api

<?php

$params = array( 'key' => 'mykey', 'text' => 'Test Message', 'lang' => 'en-ru',);
$query = http_build_query($params);
$response = file_get_contents('translate.yandex.net/api/v1.5/tr.json/translate?'.$query);

echo $query;

$data = json_decode($response, true);
$text = $data['text'][0];
echo $text;
?>

Не работает :confused:

Если ввести прямой запрос - яндекс пишет

Yandex.Translate API documentation can be found here: http://api.yandex.ru/translate/

Но я уже 10 раз перепроверил, запрос выглядит корректным...

C
На сайте с 26.10.2013
Offline
54
#1

Может быть потому, что

$response = file_get_contents('https://translate.yandex.net/api/v1.5/tr.json/translate?'.$query);

?

Услуги по парсингу данных (/ru/forum/939826), единоразовый и регулярный сбор данных. Любые объемы. Скрипты на PHP, создание и доработка, решение проблем с сайтами Пишите в личные сообщения или скайп
Romaldo
На сайте с 10.02.2008
Offline
185
#2
colorito:
Может быть потому, что
$response = file_get_contents('https://translate.yandex.net/api/v1.5/tr.json/translate?'.$query);

?

Да, верно, как раз нашел причину, но появилась еще одна.

На выходе текст в неверной кодировке - кракозябры...

C
На сайте с 26.10.2013
Offline
54
#3

Поиграйте с iconv

Romaldo
На сайте с 10.02.2008
Offline
185
#4
colorito:
Поиграйте с iconv

Ага, есть контакт

echo iconv('utf-8','windows-1251', $text);

Спасибо!

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий