当前位置:   article > 正文

手摸手教你用php的post方法接入百度翻译API(免费版)

手摸手教你用php的post方法接入百度翻译API(免费版)

目录

在官网申请自己的ID和密钥

完成注册以及实名认证,按照引导,完成即可。

 拿到我们的Appid和密钥

 按照文档编写php

 关键点整理:

原理阐述:

生成签名sign:

拼接完整请求:

用到的php知识:

赘述


官方的demo以及文档对小白(本菜鸡)而言稍微不太友好,话不多说,直接上步骤:

在官网申请自己的ID和密钥

官网地址:

百度翻译开放平台百度翻译开放平台提供通用翻译API、定制化翻译API、图片翻译SDK及语音翻译SDK服务,全面满足开发者的翻译需求。https://fanyi-api.baidu.com/

  • 完成注册以及实名认证,按照引导,完成即可。

  •  拿到我们的Appid和密钥

 按照文档编写php

  •  关键点整理:

原理阐述:

其实也没啥阐述的,就是通过通过url链接去请求到一个json字符串,而我们需要把需要以正确的方式将我们的待翻译参数以及身份信息,按照POST请求的方式加在链接中。

这里是官方给的一个例子(很关键):

生成签名sign:

Step1. 拼接字符串1:
拼接appid=2015063000000001+q=apple+salt=1435660288+密钥=12345678得到字符串1:“2015063000000001apple143566028812345678”
Step2. 计算签名:(对字符串1做MD5加密)
sign=MD5(2015063000000001apple143566028812345678),得到sign=f89f9594663708c1605f3d736d01d2d4

拼接完整请求:

http://api.fanyi.baidu.com/api/trans/vip/translate?q=apple&from=en&to=zh&appid=2015063000000001&salt=1435660288&sign=f89f9594663708c1605f3d736d01d2d4

用到的php知识:

  • MD5加密
$params['sign'] = md5($appid.$word.$salt.'yjNRQdGS6iPEf6cfS2LB');

这行代码就是把我们需要加密的内容拼接起来,加密之后会生成一个32位的字符串,这就是我们的签名信息了。

  • url请求(cURL 函数)
  • PHP支持的由Daniel Stenberg创建的libcurl库允许你与各种的服务器使用各种类型的协议进行连接和通讯。
  • PHP中使用cURL实现Get和Post请求的方法
  • PHP需要使用libcurl 7.0.2-beta 或者更高版本
$ch = curl_init();

上面的代码是 初始化一个新的会话,返回一个cURL句柄,供curl_setopt(), curl_exec()和curl_close() 函数使用。如果提供了uRL参数,CURLOPT_URL 选项将会被设置成这个值。你也可以使用curl_setopt()函数手动地设置这个值。例如:

curl_setopt($ch,CURLOPT_URL,$url);
bool curl_setopt ( resource $ch , int $option , mixed $value )

curl_setopt_array — 为 cURL 传输会话批量设置选项。

参数:

ch

由 curl_init() 返回的 cURL 句柄。

option

需要设置的CURLOPT_XXX选项。

value

将设置在option选项上的值。

option含义
CURLOPT_POST

启用时会发送一个常规的POST请求,类型为:application/x-www-form-urlencoded,就像表单提交的一样。

CURLOPT_POSTFIELDS全部数据使用HTTP协议中的"POST"操作来发送。要发送文件,在文件名前面加上@前缀并使用完整路径。这个参数可以通过urlencoded后的字符串类似'para1=val1&para2=val2&...'或使用一个以字段名为键值,字段数据为值的数组。如果value是一个数组,Content-Type头将会被设置成multipart/form-data
CURLOPT_URL需要获取的URL地址,也可以在curl_init()函数中设置
CURLOPT_TIMEOUT设置cURL允许执行的最长秒数。
CURLOPT_BINARYTRANSFER

在启用CURLOPT_RETURNTRANSFER的时候,返回原生的(Raw)输出。

  1. $result=curl_exec($ch);
  2. curl_close($ch);

上面的代码是拿回我们的结果。并且关闭链接。

$callRet = json_decode($result, true);

解析json,才能显示中文。

  • 拼接参数的代码:
  1. foreach ($params as $key => $value) {
  2. $querySign .= $key . '=' . $value . '&';
  3. //echo $querySign."<br/>";
  4. }

代码(换了id和密钥就可以直接用的那种)

  1. <?php
  2. /**
  3. * @desc 百度文档翻译服务接口
  4. * 计数服务接口校验同理,完整文档参考:https://api.fanyi.baidu.com/doc/27
  5. * @date 2022-04-25
  6. * @author @勇敢di牛牛
  7. */
  8. $word = 'brave,ox ,ox ';
  9. $appid = '20220424001188633'; //你自己的Appid
  10. $salt = '1435660288'; //随机数
  11. $params = array(
  12. 'appid' => $appid, //你的appid
  13. 'from' => 'en',
  14. 'to' => 'zh',
  15. 'salt' => '1435660288',//10位随机数字,你也可以用10位时间戳
  16. 'q' => $word,
  17. );
  18. $seckey = 'yjNRQdGS6iPEf6cfS2CC'; //你的密钥
  19. ksort($params);
  20. $querySign = '';
  21. $params['sign'] = md5($appid.$word.$salt.$seckey);
  22. foreach ($params as $key => $value) {
  23. $querySign .= $key . '=' . $value . '&';
  24. //echo $querySign."<br/>";
  25. }
  26. $url = 'http://fanyi-api.baidu.com/api/trans/vip/translate?';
  27. //$url = "$url$querySign";
  28. echo $url;
  29. $header = array(
  30. 'Content-Type' => 'application/x-www-form-urlencoded',
  31. );
  32. $ch = curl_init();
  33. curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
  34. curl_setopt($ch, CURLOPT_POST, 1);
  35. curl_setopt($ch, CURLOPT_POSTFIELDS,$querySign);
  36. curl_setopt($ch,CURLOPT_URL,$url);
  37. curl_setopt($ch,CURLOPT_TIMEOUT, 10);
  38. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  39. $result=curl_exec($ch);
  40. curl_close($ch);
  41. $callRet = json_decode($result, true);
  42. //$string = utf8_decode($string);
  43. print_R($callRet);
  44. //pring_R($result);
  45. ?>

赘述

不知道怎么使用php文件的可以去专栏看看,

https://blog.csdn.net/niuguobao/category_11765442.html?spm=1001.2014.3001.5482https://blog.csdn.net/niuguobao/category_11765442.html?spm=1001.2014.3001.5482传回;来的效果,可以按需解析:

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/352863
推荐阅读
  

闽ICP备14008679号