介绍

基于 QNetwork , 使用简单的调用,免去写各种网络请求,直接获取链接的资源,还支持超时,不阻塞。方便简单的工程和小白使用。

支持的功能

  • 直接访问URL,获得QByteArray
  • 通过已经设置Cookies的QNetworkRequest,获得QByteArray
  • 支持超时
  • 支持事件循环,避免阻塞进程
  • 支持结果判断,出现问题时,返回状态码和错误信息

TODO:

  • 支持json路径解析返回

    使用

    ▼ pro文件需要包括 network
    1. QT += network
    ▼ 使用头文件
    1. #include <VNetwork.h>
    ▼ 方法 ```cpp //设置cookies 格式:”a=1;b=2;c=3” static void setCookies(QNetworkRequest &request, const QString &cookies); //取cookies 格式:”a=1;b=2;c=3” static QString getCookies(QNetworkRequest &request); //取指定cookies值 static QString getCookiesValue(QNetworkRequest &request, const QString &name);

//通过URL简易get static QByteArray net_Get(const QString &url, int timeout = 3000)); //访问URL,返回对应的二进制或者JSON等 //通过request简易get static QByteArray net_Get(const QNetworkRequest &request, int timeout = 3000));

//简单的初始化 目前初始化条目:user_agent=谷歌浏览器默认; static void requestEasyInit(QNetworkRequest &request);

  1. 实例
  2. ```cpp
  3. QByteArray bt = VNetwork::net_Get( ui->lineEdit_net_url->text());
  4. qDebug() << bt.size();
  5. QByteArray bt = VNetwork::net_Get(xxurl, 5000);//访问xxurl, 并设置超时5000
  6. //cookies的一系列操作
  7. QNetworkRequest req;
  8. VNetwork::setCookies(req, "name=unclev;age=100;uid=1");
  9. qDebug() << VNetwork::getCookies(req);
  10. qDebug() << VNetwork::getCookiesValue(req, "age");

name=unclev;age=100;uid=1 100

例1演示:
图片演示.gif
例2:
网络请求.gif