Собственно сам код ниже:
QString text = "The Beatles";
if (text.isEmpty())
return;
int count = 100;
int mid = 7969328; //тут ваш mid
QString sig_src = QString::number(mid);
QMap<QString, QString> params;
params["method"] = "audio.search";
params["v"] = "3.0";
params["api_id"] = "2045634";
params["q"] = text;
params["format"] = "JSON";
params["count"] = QString::number(count);
params["test_mode"] = "1";
QStringList keys = params.keys();
keys.sort();
foreach(QString key, keys) {
sig_src = QString("%1%2=%3").arg(sig_src).arg(key).arg(params[key]);
}
QByteArray n_sig_src;
n_sig_src.append(sig_src);
QByteArray sig = QCryptographicHash::hash(n_sig_src, QCryptographicHash::Md5).toHex();
params["sig"] = sig;
keys = params.keys();
QString url = QString("http://api.vkontakte.ru/api.php?%1=%2").arg(keys.at(0)).arg(params[keys.at(0)]);
for(int i = 1; i < keys.length(); i++) {
url = QString("%1&%2=%3").arg(url).arg(keys.at(i)).arg(params[keys.at(i)]);
}
QNetworkAccessManager m_manager;
QByteArray requstString;
QNetworkRequest request(url);
m_manager.post(request, requstString);
QNetworkReply *m_reply;
m_reply->ignoreSslErrors();
if (m_reply->error())
{
qDebug()<<m_reply->errorString();
}
else
{
QByteArray otv = m_reply->readAll();
}