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) ."\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_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;
标签:
百度翻译接口
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
2017-07-17 ECshop后台新功能权限添加
2017-07-17 mysql中int、bigint、smallint 和 tinyint的区别与长度的含义
2017-07-17 mysql数据库表设计小数类型