Advertisement
Guest User

Untitled

a guest
Oct 23rd, 2017
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.01 KB | None | 0 0
  1. CHECK_INTERNAL_POINTER(m_pNetworkManager)
  2. KviKvsArrayCast ac;
  3. QString szUrl, szReferer;
  4. bool bRedir;
  5. KVSO_PARAMETERS_BEGIN(c)
  6. KVSO_PARAMETER("url", KVS_PT_STRING, 0, szUrl)
  7. KVSO_PARAMETER("post_parameters", KVS_PT_ARRAYCAST, 0, ac)
  8. KVSO_PARAMETER("bool_follow_redirect", KVS_PT_BOOLEAN, KVS_PF_OPTIONAL, bRedir)
  9. KVSO_PARAMETER("referer", KVS_PT_STRING,KVS_PF_OPTIONAL, szReferer)
  10. KVSO_PARAMETERS_END(c)
  11. QUrl url(szUrl);
  12. QByteArray postData;
  13. QUrl params;
  14. QUrlQuery query;
  15. if(KviKvsArray * a = ac.array())
  16. {
  17. kvs_int_t uIdx = 0;
  18. kvs_int_t uSize = a->size();
  19. while(uIdx < uSize)
  20. {
  21. KviKvsVariant * v = a->at(uIdx);
  22. QString key;
  23. v->asString(key);
  24. QString value;
  25. uIdx++;
  26. v = a->at(uIdx);
  27. if(v)
  28. {
  29. QString value;
  30. v->asString(value);
  31. if(value.isEmpty()) query.addQueryItem(key,"");
  32. else
  33. query.addQueryItem(key,value);
  34. qDebug("campo %s valore %s ",key.toUtf8().data(),value.toUtf8().data());
  35. }
  36. else{
  37. qDebug("campo vuoto %s",key.toUtf8().data());
  38. query.addQueryItem(key,"");
  39. }
  40. uIdx++;
  41. }
  42. }
  43. params.setQuery(query);
  44. postData = params.toEncoded(QUrl::RemoveFragment);
  45. QNetworkRequest req(url);
  46. req.setHeader(QNetworkRequest::ContentTypeHeader,"application/x-www-form-urlencoded");
  47. QByteArray ref("Referer");
  48. QByteArray refc(szReferer.toUtf8());
  49. if(!szReferer.isEmpty())
  50. req.setRawHeader(ref,refc);
  51. if (bRedir)
  52. req.setAttribute(QNetworkRequest::FollowRedirectsAttribute,true);
  53. req.setAttribute(QNetworkRequest::User, QVariant(mId));
  54.  
  55. m_pNetworkManager->post(req,postData);
  56. c->returnValue()->setInteger((kvs_int_t)mId);
  57. mId++;
  58. return true;
  59. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement