免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發新帖
查看: 32566 | 回復: 3
打印 上一主題 下一主題

perl6 使用百度翻譯API遇到"Invalid Sign" [復制鏈接]

論壇徽章:
0
跳轉到指定樓層
1 [收藏(0)] [報告]
發表于 2019-03-22 11:51 |只看該作者 |倒序瀏覽
本帖最后由 aef25u 于 2019-03-22 13:08 編輯

perl6 使用百度翻譯API遇到"{"error_code":"54001","error_msg":"Invalid Sign"}
請大家幫忙找一下問題。


判斷問題出在:
  1.         my $sign = $appid~$q~$salt~$secretKey;
  2.         my $d=Digest::MD5.new;
  3.         $sign =$d.md5_hex($sign.encode("ascii"));
復制代碼
附代碼:
  1. use Digest::MD5;
  2. use URI::Escape;
  3. use HTTP::UserAgent;

  4. translation({say "翻譯:"},'"Doing multiple things at the same time"');
  5.         
  6. sub translation(&code-ref,$q,$fromLang="zh", $toLang="en"){
  7.         my $appid = '**********' ;#你的appid(這里是必填的, 從百度 開發者信息一覽獲取)
  8.         my $secretKey = '*********'; #你的密鑰(這里是必填的, 從百度 開發者信息一覽獲取)

  9.         my $url='http://api.fanyi.baidu.com/api/trans/vip/translate';
  10.         my $salt = (32768.. 65536).rand.Int;
  11.         my $sign = $appid~$q~$salt~$secretKey;
  12.         my $d=Digest::MD5.new;
  13.         #{error_msg : Invalid Sign}==>$sign =$d.md5_hex($sign.encode("ascii"));
  14.         $sign =$d.md5_hex($sign);
  15.         $url = $url~'?appid='~$appid~'&q='~uri_escape($q)~'&from='~$fromLang~'&to='~$toLang~'&salt='~$salt~'&sign='~$sign;
  16.         say $url;
  17.         
  18.         my $ua = HTTP::UserAgent.new;
  19.         $ua.timeout = 10;
  20.         my $resp=$ua.get($url);

  21.         if $resp.is-success {
  22.             my $par=$resp.content;
  23.             say $par;
  24.         } else {
  25.         die $resp.status-line;
  26.         }        
  27. }
復制代碼
代碼參考這編文章改寫https://www.jianshu.com/p/be93c26c7d5f(python3實現)


論壇徽章:
0
2 [報告]
發表于 2019-03-22 12:42 |只看該作者
本帖最后由 aef25u 于 2019-03-22 12:51 編輯

自已解決了。
  1. 改為:
  2. $sign =$d.md5_hex($sign);
  3. 而非:
  4. $sign =$d.md5_hex($sign.encode("ascii"));

  5. 最終得到josn數據后,使用use JSON::Tiny;
  6. my $par=$resp.content;
  7. my $josn = from-json ( $par );
復制代碼



論壇徽章:
1
19周年集字徽章-年
日期:2020-10-29 09:39:21
3 [報告]
發表于 2019-03-27 16:43 |只看該作者
試問一下,Perl6比5好在哪?一直猶豫要不要學

論壇徽章:
0
4 [報告]
發表于 2021-03-07 23:38 |只看該作者
回復 3# legs  

超正則表達式的文本分析能力Grammar,惰性求值,并發高級API,類型系統,還生oop,超運算符muti sub等許多新特性!


您需要登錄后才可以回帖 登錄 | 注冊

本版積分規則 發表回復

  

北京盛拓優訊信息技術有限公司. 版權所有 京ICP備16024965號-6 北京市公安局海淀分局網監中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區
中國互聯網協會會員  聯系我們:huangweiwei@itpub.net
感謝所有關心和支持過ChinaUnix的朋友們 轉載本站內容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP
   日韩综合区视频第一页导航,无码JK粉嫩小泬在线观看,午夜精品A片一区二区三区,日日躁夜夜躁狠狠躁麻豆,大胆国模,免费观看无遮挡www的网站