亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

Chinaunix

標(biāo)題: perl6 使用百度翻譯API遇到"Invalid Sign" [打印本頁]

作者: aef25u    時(shí)間: 2019-03-22 11:51
標(biāo)題: perl6 使用百度翻譯API遇到"Invalid Sign"
本帖最后由 aef25u 于 2019-03-22 13:08 編輯

perl6 使用百度翻譯API遇到"{"error_code":"54001","error_msg":"Invalid Sign"}
請(qǐng)大家?guī)兔φ乙幌聠栴}。


判斷問題出在:
  1.         my $sign = $appid~$q~$salt~$secretKey;
  2.         my $d=Digest::MD5.new;
  3.         $sign =$d.md5_hex($sign.encode("ascii"));
復(fù)制代碼
附代碼:
  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(這里是必填的, 從百度 開發(fā)者信息一覽獲取)
  8.         my $secretKey = '*********'; #你的密鑰(這里是必填的, 從百度 開發(fā)者信息一覽獲取)

  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. }
復(fù)制代碼
代碼參考這編文章改寫https://www.jianshu.com/p/be93c26c7d5f(python3實(shí)現(xiàn))



作者: aef25u    時(shí)間: 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. 最終得到j(luò)osn數(shù)據(jù)后,使用use JSON::Tiny;
  6. my $par=$resp.content;
  7. my $josn = from-json ( $par );
復(fù)制代碼




作者: legs    時(shí)間: 2019-03-27 16:43
試問一下,Perl6比5好在哪?一直猶豫要不要學(xué)
作者: aef25u    時(shí)間: 2021-03-07 23:38
回復(fù) 3# legs  

超正則表達(dá)式的文本分析能力Grammar,惰性求值,并發(fā)高級(jí)API,類型系統(tǒng),還生oop,超運(yùn)算符muti sub等許多新特性!







歡迎光臨 Chinaunix (http://72891.cn/) Powered by Discuz! X3.2