• 欢迎访问乐趣公园网站,WordPress信息,WordPress教程,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站,欢迎加入乐趣公园 QQ群
  • Git主题现已支持PHP7版本,速度应该会提高不少,不过云落的网站本来就很快了,所以感觉不是太明显
  • 最新版Git主题已支持说说碎语功能,可像添加文章一样直接添加说说,新建说说页面即可,最后重新保存固定连接,演示地址
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏乐趣公园吧
  • 云落的淘宝店铺已经开张了哦,传送门:https://kimipet.taobao.com

PHP调用有道翻译API在线翻译文字

网络技术 云落 3个月前 (07-13) 47次浏览 已收录 1个评论
文章目录[隐藏]

注册有道智云,在线调用有道翻译资源

PHP 调用有道翻译 API 在线翻译文字

前言

有道智云

网上搜索有道翻译的资源都是有道的 get 的 openapi,但是据说失效了,但是经过云落测试目前还是可以使用的,但是没法大量使用,所以这里注册了有道智云。
PHP 调用有道翻译 API 在线翻译文字
有道智云的产品就 4 个,都是核心产品,云落使用的就是翻译功能的,新注册用户有道还算厚道,送了 100 元,鉴于翻译功能费用还是比较便宜的,所以还是可以用一段时间的的。
PHP 调用有道翻译 API 在线翻译文字

使用代码

因为有道智云官方有 PHPdemo,所以直接将 demo 小小的改了下,直接拿来使用

//有道翻译
function ydtranslate($query){
	$app_key = '************';//注册有道智云获取
	$sec_key = '********************';//注册有道智云获取
	$api_url = 'http://openapi.youdao.com/api';//可以使用 https
    $args = array(
        'q' => $query,
        'appKey' => $app_key,
        'salt' => rand(10000,99999),
        'from' => 'AUTO',
        'to' => 'zh-CHS',

    );
    $args['sign'] = buildSign($app_key, $query, $args['salt'], $sec_key);
    $ret = call($api_url, $args);
    //echo $ret;
    $ret = json_decode($ret, true)['translation'][0];
    return $ret;
}

//加密
function buildSign($appKey, $query, $salt, $secKey){
    $str = $appKey . $query . $salt . $secKey;
    $ret = md5($str);
    return $ret;
}

//发起网络请求
function call($url, $args=null, $method="post", $testflag = 0, $timeout = 20, $headers=array()){
    $ret = false;
    $i = 0;
    while($ret === false){
        if($i > 1)
            break;
        if($i > 0){
            sleep(1);
        }
        $ret = callOnce($url, $args, $method, false, $timeout, $headers);
        $i++;
    }
    return $ret;
}

function callOnce($url, $args=null, $method="post", $withCookie = false, $timeout = 20, $headers=array()){
    $ch = curl_init();
    if($method == "post"){
        $data = convert($args);
        curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
        curl_setopt($ch, CURLOPT_POST, 1);
    }else{
        $data = convert($args);
        if($data){
            if(stripos($url, "?") > 0){
                $url .= "&$data";
            }else{
                $url .= "?$data";
            }
        }
    }
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_TIMEOUT, $timeout);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    if(!empty($headers)){
        curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
    }
    if($withCookie){
        curl_setopt($ch, CURLOPT_COOKIEJAR, $_COOKIE);
    }
    $r = curl_exec($ch);
    curl_close($ch);
    return $r;
}

function convert(&$args){
    $data = '';
    if (is_array($args)){
        foreach ($args as $key=>$val){
            if (is_array($val)){
                foreach ($val as $k=>$v){
                    $data .= $key.'['.$k.']='.rawurlencode($v).'&';
                }
            }else{
                $data .="$key=".rawurlencode($val)."&";
            }
        }
        return trim($data, "&");
    }
    return $args;
}

使用很简单

echo ydtranslate('I go to school');

和谷歌翻译的比较

这里正好有一段我正在翻译的内容,具体看下。

后语

我在使用有道翻译之后看了下百度翻译,发现百度翻译的 PHP demo 和有道翻译的 PHP demo 几乎一致,可以说除了调用的 api 不一样,基本上是一样的。

相关链接

有道智云
乐趣公园 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:PHP 调用有道翻译 API 在线翻译文字
喜欢 (3)
关于作者:
无折腾,不生活,我是一个WordPress菜鸟,一个玩淘宝的卖家,欢迎你认识我,我是云落!
发表我的评论
取消评论
表情 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
(1)个小伙伴在吐槽
  1. 虽然用不到~呵
    半夏2018-07-18 19:48 回复 Windows 10 | Chrome 63.0.3239.26