我有一个如下网址:
QUrl url("https://example.com/send/?apikey=somekey&numbers=mobile&sender=XYZ&message=0000%20is%20your%20OTP%20to%20authenticate%20with%20Server:%20abc.com")
现在我将这个 URL 称为如下:
QNetworkRequest networkRequest(url);
QNetworkAccessManager manager;
QEventLoop event;
QObject::connect(&manager, &QNetworkAccessManager::finished, &event, &QEventLoop::quit);
auto* const pResponse = manager.get(networkRequest);
event.exec();
pResponse->deleteLater();
return pResponse->readAll();
但是,调用没有成功。经过调试,我发现 URL 中的“&message”部分是
&message=0000%20is%20your%20OTP%20to%20authenticate%20with%20Server:%20abc.com
变成
&message=0000 is your OTP to authenticate with Server: abc.com
可能这就是失败的原因。如果我将 URL 复制粘贴到浏览器中,它可以正常工作。
如何使这个请求成功?
虽然我已经编码了它是一个阻塞调用,但实际上我的要求是只调用上面的 URL。
更新:这个问题自己解决了。我进行 API 调用的网站遵循某个模板。我错过了一个句号“。” 在最后。添加后,它开始工作。