袁来如此的工作笔记
袁来如此的工作笔记
竹杖芒鞋轻胜马,谁怕? 一蓑烟雨任平生。

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

浏览量:132

what:

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

why:

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


how:

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) ."n";
          }
          return $result;
    }
function language_text($reqURL)
    {
        $ch = curl_init($reqURL);
        curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "GET");
        curl_setopt($ch, CURLOPT_RETURNTRANSFER,true);
        $result = curl_($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;
复制代码

打赏