synchttpobject.cpp 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. #include "synchttpobject.h"
  2. SyncHttpObject::SyncHttpObject(QWidget* parent)
  3. : QObject(parent)
  4. {
  5. }
  6. bool SyncHttpObject::downloadFile(QString url, QString path)
  7. {
  8. return true;
  9. }
  10. void SyncHttpObject::setIpAndPort(const QString& ip, int port, QString protocol)
  11. {
  12. m_baseUrl = QString("%1://%2:%3/").arg(protocol).arg(ip).arg(port);
  13. qDebug() << m_baseUrl;
  14. }
  15. int SyncHttpObject::postJsonData(const QString& params, QByteArray& data, QByteArray& ret)
  16. {
  17. QNetworkAccessManager* manager = new QNetworkAccessManager();
  18. QNetworkRequest requet;
  19. qDebug() << m_baseUrl + params;
  20. requet.setUrl(QUrl(m_baseUrl + params));
  21. requet.setHeader(QNetworkRequest::ContentTypeHeader, "application/json");
  22. QNetworkReply* reply = manager->post(requet, data);
  23. QEventLoop loop;
  24. connect(reply, &QNetworkReply::finished, &loop, &QEventLoop::quit);
  25. loop.exec();
  26. ret = reply->readAll();
  27. int code = reply->attribute(QNetworkRequest::HttpStatusCodeAttribute).toInt();
  28. delete reply;
  29. delete manager;
  30. return code;
  31. }
  32. int SyncHttpObject::postData(const QString& params, QByteArray& data, QByteArray& ret)
  33. {
  34. QNetworkAccessManager* manager = new QNetworkAccessManager();
  35. QNetworkRequest requet;
  36. qDebug() << m_baseUrl + params;
  37. requet.setUrl(QUrl(m_baseUrl + params));
  38. requet.setHeader(QNetworkRequest::ContentTypeHeader, "application/x-www-form-urlencoded");
  39. QNetworkReply* reply = manager->post(requet, data);
  40. QEventLoop loop;
  41. connect(reply, &QNetworkReply::finished, &loop, &QEventLoop::quit);
  42. loop.exec();
  43. ret = reply->readAll();
  44. int code = reply->attribute(QNetworkRequest::HttpStatusCodeAttribute).toInt();
  45. delete reply;
  46. delete manager;
  47. return code;
  48. }
  49. int SyncHttpObject::getJsonData(const QString& params, QByteArray& ret)
  50. {
  51. QNetworkAccessManager* manager = new QNetworkAccessManager();
  52. QNetworkRequest requet;
  53. requet.setUrl(QUrl(m_baseUrl + params));
  54. requet.setHeader(QNetworkRequest::ContentTypeHeader, "application/json");
  55. QNetworkReply* reply = manager->get(requet);
  56. QEventLoop loop;
  57. connect(reply, &QNetworkReply::finished, &loop, &QEventLoop::quit);
  58. loop.exec();
  59. ret = reply->readAll();
  60. int code = reply->attribute(QNetworkRequest::HttpStatusCodeAttribute).toInt();
  61. delete reply;
  62. delete manager;
  63. return code;
  64. }
  65. int SyncHttpObject::getHtmlData(const QString& url, QByteArray& ret)
  66. {
  67. QNetworkAccessManager* manager = new QNetworkAccessManager();
  68. QNetworkRequest requet;
  69. requet.setUrl(QUrl(url));
  70. QNetworkReply* reply = manager->get(requet);
  71. QEventLoop loop;
  72. connect(reply, &QNetworkReply::finished, &loop, &QEventLoop::quit);
  73. loop.exec();
  74. ret = reply->readAll();
  75. int code = reply->attribute(QNetworkRequest::HttpStatusCodeAttribute).toInt();
  76. delete reply;
  77. delete manager;
  78. return code;
  79. }
  80. void SyncHttpObject::setBaseUrl(QString baseUrl)
  81. {
  82. m_baseUrl = baseUrl;
  83. }