Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- CHECK_INTERNAL_POINTER(m_pNetworkManager)
- KviKvsArrayCast ac;
- QString szUrl, szReferer;
- bool bRedir;
- KVSO_PARAMETERS_BEGIN(c)
- KVSO_PARAMETER("url", KVS_PT_STRING, 0, szUrl)
- KVSO_PARAMETER("post_parameters", KVS_PT_ARRAYCAST, 0, ac)
- KVSO_PARAMETER("bool_follow_redirect", KVS_PT_BOOLEAN, KVS_PF_OPTIONAL, bRedir)
- KVSO_PARAMETER("referer", KVS_PT_STRING,KVS_PF_OPTIONAL, szReferer)
- KVSO_PARAMETERS_END(c)
- QUrl url(szUrl);
- QByteArray postData;
- QUrl params;
- QUrlQuery query;
- if(KviKvsArray * a = ac.array())
- {
- kvs_int_t uIdx = 0;
- kvs_int_t uSize = a->size();
- while(uIdx < uSize)
- {
- KviKvsVariant * v = a->at(uIdx);
- QString key;
- v->asString(key);
- QString value;
- uIdx++;
- v = a->at(uIdx);
- if(v)
- {
- QString value;
- v->asString(value);
- if(value.isEmpty()) query.addQueryItem(key,"");
- else
- query.addQueryItem(key,value);
- qDebug("campo %s valore %s ",key.toUtf8().data(),value.toUtf8().data());
- }
- else{
- qDebug("campo vuoto %s",key.toUtf8().data());
- query.addQueryItem(key,"");
- }
- uIdx++;
- }
- }
- params.setQuery(query);
- postData = params.toEncoded(QUrl::RemoveFragment);
- QNetworkRequest req(url);
- req.setHeader(QNetworkRequest::ContentTypeHeader,"application/x-www-form-urlencoded");
- QByteArray ref("Referer");
- QByteArray refc(szReferer.toUtf8());
- if(!szReferer.isEmpty())
- req.setRawHeader(ref,refc);
- if (bRedir)
- req.setAttribute(QNetworkRequest::FollowRedirectsAttribute,true);
- req.setAttribute(QNetworkRequest::User, QVariant(mId));
- m_pNetworkManager->post(req,postData);
- c->returnValue()->setInteger((kvs_int_t)mId);
- mId++;
- return true;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement