@Zimaell

Как перевести текст через translate с помощью curl?

Мне нужно перевести текст через translate.ru, к сожалению в отличии от гугла в промте запрос делается через пост а не через гет, в общем посмотрел что он шлет при переводе и составил тестовый запрос.

$arr_post=array(
		'dirCode'=>'ru-de',
		'template'=>'General',
		'text'=>'<p>Правительство Германии</p>',
		'lang'=>'ru',
		'limit'=>'3000',
		'useAutoDetect'=>true,
		'key'=>'123',
		'ts'=>'MainSite',
		'tid'=>'',
		'IsMobile'=>false
		);
$post=http_build_query($arr_post);

$ch=curl_init();
curl_setopt($ch,CURLOPT_URL,'https://www.translate.ru/services/soap.asmx/GetTranslation');
curl_setopt($ch,CURLOPT_FOLLOWLOCATION,FALSE);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,TRUE);
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,FALSE);
curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,FALSE);
curl_setopt($ch,CURLOPT_HEADER,FALSE);
curl_setopt($ch,CURLOPT_TIMEOUT,20);
curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,20);
curl_setopt($ch,CURLOPT_POST,TRUE);
curl_setopt($ch,CURLOPT_POSTFIELDS,$post);
curl_setopt($ch,CURLOPT_MAXREDIRS,1);
curl_setopt($ch,CURLOPT_ENCODING,"");
$content=curl_exec($ch);
curl_close($ch);
	
echo '====>'.$content;

в ответ получаю такой вот ответ
Cannot convert 1 to System.Boolean. Parameter name: type ---> String was not recognized as a valid Boolean.


Смотрел через HTTPHeader что он шлет при переводе, он отправляет
POST
{ dirCode:'ru-de', template:'General', text:'Правительство Германии', lang:'ru', limit:'3000',useAutoDetect:true, key:'123', ts:'MainSite',tid:'', IsMobile:false}

на адрес - https://www.translate.ru/services/soap.asmx/GetTra...

В общем что-то я делаю не так, подскажите кто знает...
  • Вопрос задан
  • 83 просмотра
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы