zoukankan      html  css  js  c++  java
  • PHP 最完美调用百度翻译接口代码示例 (原)

    php调用百度翻译最新接口代码

    问       题:写的过程遇到了一个问题,url拼接好的原翻译内容,appid,sign的地址直接输出到浏览器可以打开看到翻译后的返回值,但是各种curl,file_get_contents()都不行,获取到的内容是空.

    开发过程:我刚开始是拼好的地址输出到浏览器,然后复制url地址直接浏览器打开,能看到翻译后的内容,如下. 但是我接着curl请求这个地址获取内容就一直失败.

    错误原因: url地址里面拼接的带中文参数值的拼接到url前中文值要先 urlencode,这样拼接好的url直接curl_get()或者file_get_contents()就没毛病了.我这边写的不管是中文转英文还是英文转中文都加了urlencode()要翻译的参数.

    问题讲述完毕,上代码~

    function language($value,$from="en",$to="zh")
        {
             $value_code = $value; 
             $appid = "20181009000******"; //您注册的API Key
             $key = "_ZdHGxOm*********"; //密钥
             $salt = rand(1000000000,9999999999); //随机数
             $sign = md5($appid.$value_code.$salt.$key); //签名
             $value_code = urlencode($value_code);
             //生成翻译API的URL 
             $languageurl = "http://api.fanyi.baidu.com/api/trans/vip/translate?q=$value_code&appid=$appid&salt=$salt&from=$from&to=$to&sign=$sign";
             $text = json_decode($this->language_text($languageurl));
             $lan = $text->trans_result;
             $result = '';
             foreach ($lan as $k => $v)
              {
                   $result .= ucwords($v->dst) ."
    ";
              }
              return $result;
        }
    function language_text($reqURL)
        {
            $ch = curl_init($reqURL);
            curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "GET");
            curl_setopt($ch, CURLOPT_RETURNTRANSFER,true);
            $result = curl_exec($ch);
            if($result){
                curl_close($ch);
                return $result;
            } else {
                $error = curl_errno($ch);
                curl_close($ch);
                return ("curl出错,错误码:$error");
            }
        }
    //调用代码
        $val = 'I love you';
       $from = 'EN';
        $to = 'ZH';
        $result = language($val,$from,$to);
        echo $result;
  • 相关阅读:
    系统综合实践第三次实践
    系统综合实践第二次实践作业
    第1次实践作业
    软工总结
    团队Beta演示
    团队Beta5
    软工实践个人总结
    第09组 Beta版本演示
    第09组 Beta冲刺(5/5)
    第09组 Beta冲刺(4/5)
  • 原文地址:https://www.cnblogs.com/gyrgyr/p/11199108.html
Copyright © 2011-2022 走看看