【发布时间】:2013-07-21 13:54:21
【问题描述】:
我在使用 QNetworkAccessManager 获取 Microsoft 翻译器的应用程序令牌时遇到问题。这是我的代码:
QUrl serverUrl("https://datamarket.accesscontrol.windows.net/v2/OAuth2-13");
QNetworkRequest request(serverUrl);
request.setHeader(QNetworkRequest::ContentTypeHeader, "application/x-www-form-urlencoded");
QUrl postData;
postData.addQueryItem("grant_type", "client_credentials");
postData.addQueryItem("client_id", ClientID);
postData.addQueryItem("client_secret", ClientSecret);
postData.addQueryItem("scope", "http://api.microsofttranslator.com");
networkAccessManager->post(request, postData.encodedQuery());
当发出 finished(QNetworkReply*) 信号时,我发现服务器回复根本不包含任何数据,它只是空的!有谁知道这个问题的解决方案吗?
UPD我检查了一个错误的回复并得到以下信息:“创建 ssl 上下文时出错”。所以我在我的项目中添加了 SSL 库,但出现了下一个错误 - “未知错误”。有什么想法吗?
【问题讨论】:
-
您是否已将 OpenSSL dll 复制到您的应用程序目录中?
-
不,我没有,但我使用 -L[path_to_lib] -l[lib] 将 OpenSSL 库添加到我的项目中
标签: qt qnetworkaccessmanager microsoft-translator