介绍
基于 QNetwork
, 使用简单的调用,免去写各种网络请求,直接获取链接的资源,还支持超时,不阻塞。方便简单的工程和小白使用。
支持的功能
- 直接访问URL,获得QByteArray
- 通过已经设置Cookies的QNetworkRequest,获得QByteArray
- 支持超时
- 支持事件循环,避免阻塞进程
- 支持结果判断,出现问题时,返回状态码和错误信息
TODO:
- 支持json路径解析返回
使用
▼ pro文件需要包括 network
▼ 使用头文件QT += network
▼ 方法 ```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);#include <VNetwork.h>
//通过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);
▼ 实例
```cpp
QByteArray bt = VNetwork::net_Get( ui->lineEdit_net_url->text());
qDebug() << bt.size();
QByteArray bt = VNetwork::net_Get(xxurl, 5000);//访问xxurl, 并设置超时5000
//cookies的一系列操作
QNetworkRequest req;
VNetwork::setCookies(req, "name=unclev;age=100;uid=1");
qDebug() << VNetwork::getCookies(req);
qDebug() << VNetwork::getCookiesValue(req, "age");
name=unclev;age=100;uid=1 100
例1演示:
例2: