调用百度翻译接口

表单提交页面ajax提交

百度翻译


</textarea>

控制器页面

<?php namespace App\Http\Controllers\Admin; use Illuminate\Http\Request; use App\Http\Controllers\Controller; use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\Input; class baiduController extends Controller { public function bList() { return view('baiduList'); } public function speak_do() { $str = input::post('en'); // echo $str;exit; //参数 #生成随机数 $num = rand(100000000, 999999999); $param = [ 'q' => $str, 'from' => 'en', 'to' => 'zh', 'appid' => '20180929000213749', 'salt' => $num, ]; $key = 'Ga_Bct8mD8sMZJavNggm'; //生成签名 $str = $param['appid'] . $param['q'] . $param['salt'] . $key; $str = md5($str); //签名添加数组 $param['sign'] = $str; // print_r($param);exit; //url $url = 'http://api.fanyi.baidu.com/api/trans/vip/translate?'; $res = $this->curlRequest($url, $param); // print_r($res);exit; $res = json_decode($res, true); //print_r($res);exit; $re= $res['trans_result']['0']['dst']; // print_r($re);exit; if ($re) { return $this->win('翻译成功', $re); } else { return $this->fail('请求失败,请重试!'); } } /** * 调用路由接口 * @param $url 地址 * @param string $data 参数 * @return mixed */ function curlRequest($url, $data = '') { $ch = curl_init(); $params[CURLOPT_URL] = $url; //请求url地址 $params[CURLOPT_HEADER] = false; //是否返回响应头信息 $params[CURLOPT_USERAGENT] = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36'; $params[CURLOPT_RETURNTRANSFER] = true; //是否将结果返回 $params[CURLOPT_FOLLOWLOCATION] = true; //是否重定向 $params[CURLOPT_TIMEOUT] = 30; //超时时间 if (!empty($data)) { $params[CURLOPT_POST] = true; $params[CURLOPT_POSTFIELDS] = $data; } $params[CURLOPT_SSL_VERIFYPEER] = false;//请求https时设置,还有其他解决方案 $params[CURLOPT_SSL_VERIFYHOST] = false;//请求https时,其他方案查看其他博文 curl_setopt_array($ch, $params); //传入curl参数 $content = curl_exec($ch); //执行 curl_close($ch); //关闭连接 return $content; } /** * 封装正确提示 * @param string $error 提示信息 * @param array $data 返回数据 * @return string */ protected function win($error = 'ok', $data = []) { return json_encode([ 'status' => 1000, 'msg' => $error, 'data' => $data ]); } /** * 封装错误提示 * @param string $error 提示信息 * @param array $data 返回数据 * @return string */ protected function fail($error = 'no', $data = []) { return json_encode([ 'status' => 1, 'msg' => $error, 'data' => $data ]); } } 路由地址: Route::any('baiduList','Admin\baiduController@bList'); html提交 Route::any('speak_do','Admin\baiduController@speak_do'); 控制器 百度api网址使用百度账号登录百度翻译开放平台http://api.fanyi.baidu.com/api/trans/product/index; appid需要注册; 申请信息 APP ID:系统自动生成 密钥:系统自动生成 服务器ip地址没有必要填写,按提示注册即可。

猜你喜欢

转载自blog.csdn.net/weixin_43106613/article/details/82902107