1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > Qt调用百度翻译api

Qt调用百度翻译api

时间:2023-04-15 01:44:26

相关推荐

Qt调用百度翻译api

参考Gitee某工程

一.代码

//百度翻译void CBaiduTranslater::translate(const QString &src, const QString from, const QString to){if (m_networkAccessManager == nullptr) return;QString MY_APID = "2020001079094"; //开发账号如:063000000001QString MY_APID_KEY = "VfmtTr4zH7mbyd_tpKB9"; //开发密匙如:12345678QString baseUrl = "http://api./api/trans/vip/translate?";//生成md5加密文件char salt[60];sprintf(salt,"%d",rand()); //获取随机数 41/18467QString sign=QString("%1%2%3%4").arg(MY_APID).arg(src).arg(salt).arg(MY_APID_KEY);//2020001079094apple41VfmtTr4zH7mbyd_tpKB9QByteArray str = QCryptographicHash::hash(sign.toUtf8(),QCryptographicHash::Md5);QString MD5=str.toHex();//2462992b87d8f8ca6fc7bb0b87cbdfbf//方式一 字符串拼接//http://api./api/trans/vip/translate?//q=apple&from=auto&to=auto&appid=2020001079094&salt=41&sign=4da73b6a4351eda6e21ef14643f4e228QString sUrl = baseUrl + QString("q=%1&from=%2&to=%3&appid=%4""&salt=%5&sign=%6").arg(src).arg(from).arg(to).arg(MY_APID).arg(salt).arg(MD5);//QUrl url(sUrl);//方式二 QUrlQuery// QUrl url(baseUrl);// QUrlQuery query;// query.addQueryItem("q", src);// query.addQueryItem("from", from);// query.addQueryItem("to", to);// query.addQueryItem("appid", MY_APID);//client_id无效 appid有效// query.addQueryItem("salt", salt);// query.addQueryItem("sign", MD5);// url.setQuery(query);QNetworkRequest request(url);//create http request headerQNetworkReply *reply = m_networkAccessManager->get(request);//send GET request to get result/* return data */connect(reply, &QNetworkReply::readyRead, [=]{QByteArray data = reply->readAll();CBaiduTranslateResult result = decodeJsonData(data);//类似结构体,存储返回值emit finished(result);reply->close();});/* finish request */connect(reply, &QNetworkReply::finished, [=]{reply->deleteLater();});/* error */auto pError = static_cast<void (QNetworkReply::*)(QNetworkReply::NetworkError)>(&QNetworkReply::error);connect(reply, pError, [=](QNetworkReply::NetworkError){reply->deleteLater();});}

二.代码下载

Qt调用百度翻译api(QtCreator工程)

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。