百度翻译API - PHP实现

原文: http://www.isaced.com/post-177.html


原来跟大家分享过百度应用引擎BAE的体验,这几天纠结iOS课题项目,想了几天,后来决定做个掌上翻译的应用,调用某某翻译API来实现,至于什么翻译后来定为百度翻译,原因有以下几点:

  1. 天朝百度是老大
  2. 百度官方对翻译API的说明很详细
  3. 有Get和Post两种方式可用,Get最大2k字符限制,Post最大5k,返回标准Json格式

当时想到过另外一个项目,一个监控,通过PC端发送截屏到指定邮箱,iOS App 通过邮件接收读取图片,达到最基础的一个远控功能,后来想到通过邮箱中转效率实在太低,再想到直接PC和iOS通信,太难,再或者通过Webservice,一个网页接口来中转,太麻烦,三端编码,最后这想法只好泯灭在睡梦之中!

准备先看看PHP如何实现,网上找了找,Get方式实现还是蛮简单,需要在百度开发者中心申请一个API Key,下面是网上摘抄的一段实现百度翻译API的PHP代码,测试可以实现,不过英译中可能需要转换编码。

 
  
  1. php
  2. function language($value,$from="auto",$to="auto")
  3. {
  4. $value_code=urlencode($value);
  5. #首先对要翻译的文字进行 urlencode 处理
  6. $appid="YourApiKey";
  7. #您注册的API Key
  8. $languageurl = "http://openapi.baidu.com/public/2.0/bmt/translate?client_id=" . $appid ."&q=" .$value_code. "&from=".$from."&to=".$to;
  9. #生成翻译API的URL GET地址
  10. $text=json_decode(language_text($languageurl));
  11. $text = $text->trans_result;
  12. return $text[0]->dst;
  13. }
  14. function language_text($url) #获取目标URL所打印的内容
  15. {
  16. if(!function_exists('file_get_contents')) {
  17. $file_contents = file_get_contents($url);
  18. } else {
  19. $ch = curl_init();
  20. $timeout = 5;
  21. curl_setopt ($ch, CURLOPT_URL, $url);
  22. curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
  23. curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
  24. $file_contents = curl_exec($ch);
  25. curl_close($ch);
  26. }
  27. return $file_contents;
  28. }
  29. echo language('中国');
  30. ?>

传送门:

百度翻译API | 百度开发者中心


官方帮助:
http://developer.baidu.com/wiki/index.php?title=%E5%B8%AE%E5%8A%A9%E6%96%87%E6%A1%A3%E9%A6%96%E9%A1%B5/%E7%99%BE%E5%BA%A6%E7%BF%BB%E8%AF%91/%E7%BF%BB%E8%AF%91API


=========================怎么申请api key?======================

1. 打开 http://developer.baidu.com 并登陆

2.  单击 “快速创建应用” 


3. 填写应用名称,并确定

百度翻译API - PHP实现_第1张图片

4. 得到api key

百度翻译API - PHP实现_第2张图片

你可能感兴趣的:(PHP)