<?php
/**
* 机器翻译 WebAPI 接口调用示例
* 运行前:请先填写Appid、APIKey、APISecret
*
* 1.接口文档(必看):https://www.xfyun.cn/doc/nlp/xftrans/API.html
* 2.错误码链接:https://www.xfyun.cn/document/error-code (错误码code为5位数字)
* @author iflytek
*/
// *****************************************科大讯飞翻译API接口*****************************************
class Its_test {
function tocurl($url, $header, $content){
$ch = curl_init();
if(substr($url,0,5)=='https'){
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // 跳过证书检查
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); // 从证书中检查SSL加密算法是否存在
curl_setopt($ch, CURLOPT_SSLVERSION, 1);
}
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_URL, $url);
if (is_array($header)) {
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
}
curl_setopt($ch, CURLOPT_POST, true);
if (!empty($content)) {
if (is_array($content)) {
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($content));
} else if (is_string($content)) {
curl_setopt($ch, CURLOPT_POSTFIELDS, $content);
}
}
$response = curl_exec($ch);
$error=curl_error($ch);
//var_dump($error);
if($error){
die($error);
}
$header = curl_getinfo($ch);
curl_close($ch);
$data = array('header' => $header,'body' => $response);
return $data;
}
function xfyun($text,$l1,$l2) {
//在控制台-我的应用-机器翻译获取
$app_id = "";
//在控制台-我的应用-机器翻译获取
$api_sec = "";
//在控制台-我的应用-机器翻译获取
$api_key = "";
// 机器翻译接口地址
$url = "https://itrans.xfyun.cn/v2/its";
//body组装
$body = json_encode($this->getBody($app_id, $l1, $l2, $text));
// 组装http请求头
$date =gmdate('D, d M Y H:i:s') . ' GMT';
$digestBase64 = "SHA-256=".base64_encode(hash("sha256", $body, true));
$builder = sprintf("host: %s
date: %s
POST /v2/its HTTP/1.1
digest: %s", "itrans.xfyun.cn", $date, $digestBase64);
// echo($builder);
$sha = base64_encode(hash_hmac("sha256", $builder, $api_sec, true));
$authorization = sprintf("api_key=\"%s\", algorithm=\"%s\", headers=\"%s\", signature=\"%s\"", $api_key,"hmac-sha256",
"host date request-line digest", $sha);
$header = [
"Authorization: ".$authorization,
'Content-Type: application/json',
'Accept: application/json,version=1.0',
'Host: itrans.xfyun.cn',
'Date: ' .$date,
'Digest: '.$digestBase64
];
$response = $this->tocurl($url, $header, $body);
var_dump($header);
var_dump($body);
}
function getBody($app_id, $from, $to, $text) {
$common_param = [
'app_id' => $app_id
];
$business = [
'from' => $from,
'to' => $to,
];
$data = [
"text" => base64_encode($text)
];
return $body = [
'common' => $common_param,
'business' => $business,
'data' => $data
];
}
}
// *****************************************科大讯飞翻译API接口*****************************************
$a = new Its_test();
$a->xfyun("グレーの6XLで発送をはやめにお願いします!","ja","cn");
注意事项,文件名需要为its_php_demo.php 否则可能会出现其他问题
然后直接在需要用的地方导入就行,导入代码
require_once './its_php_demo.php';
此为官方文档,修改了一些,后台有送200万字符自己可以领取,科大讯飞翻译效果比google baidu 有道等等要强,不要选科大机器翻译niu 的那个API,不准,贵的那个比较准确,只有DeepL的API接口可以和科大讯飞对比