Qt网络编程——get请求
1. 程序
widge.h
#ifndef WIDGET_H
#define WIDGET_H#include <QWidget>
#include<QtNetwork/QNetworkRequest>
#include<QtNetwork/QNetworkReply>
#include<QtNetwork/QNetworkAccessManager>namespace Ui {class Widget;
}class Widget : public QWidget
{Q_OBJECTpublic:explicit Widget(QWidget *parent = 0);~Widget();void get();void getBack(QNetworkReply * reply);private:Ui::Widget *ui;QNetworkAccessManager * manager;};#endif // WIDGET_H
widget.cpp
#include "widget.h"
#include "ui_widget.h"
#include<QDebug>Widget::Widget(QWidget *parent) :QWidget(parent),ui(new Ui::Widget)
{ui->setupUi(this);manager = new QNetworkAccessManager(this);connect(manager,&QNetworkAccessManager::finished,this,&Widget::getBack);//通信完成后,自动执行getBackget();
}Widget::~Widget()
{delete ui;
}void Widget::get()
{QNetworkRequest request;request.setUrl(QUrl("https://api.66mz8.com/api/weather.php?location=北京"));manager->get(request); //发出get请求}void Widget::getBack(QNetworkReply * reply)
{qDebug()<<reply->readAll().data(); //输出响应内容,其中.data()表示转换为json格式
}
2. 注意
在此项目中,需要用到https协议来访问服务器,然而在调用服务器时却发现程序运行时,QT控制台报错如下:
qt.network.ssl: QSslSocket: cannot call unresolved function SSLv23_client_method
qt.network.ssl: QSslSocket: cannot call unresolved function SSL_CTX_new
qt.network.ssl: QSslSocket: cannot call unresolved function SSL_library_init
qt.network.ssl: QSslSocket: cannot call unresolved function ERR_get_error
qt.network.ssl: QSslSocket: cannot call unresolved function ERR_get_error
解决:
在Qt目录下Qt5.4.2\Tools\mingw491_32\opt\bin 找到libeay32.dll 和 ssleay32.dll两个库文件,将这两个库文件拷贝到程序生成目录下(即生成exe的同级目录),即可。
3. 运行结果
{"code": 200,"citynm": "北京","cityno": "beijing","data": [{"days": "2021-08-05","week": "星期四","temperature": "30℃\/23℃","weather": "雷阵雨转多云","weather_icon": "http:\/\/api.k780.com\/upload\/weather\/d\/4.gif","wind": "东南风"},{"days": "2021-08-06","week": "星期五","temperature": "32℃\/22℃","weather": "多云转晴","weather_icon": "http:\/\/api.k780.com\/upload\/weather\/d\/1.gif","wind": "东北风转西南风"},{"days": "2021-08-07","week": "星期六","temperature": "33℃\/23℃","weather": "晴","weather_icon": "http:\/\/api.k780.com\/upload\/weather\/d\/0.gif","wind": "南风转西南风"},{"days": "2021-08-08","week": "星期日","temperature": "32℃\/24℃","weather": "多云转晴","weather_icon": "http:\/\/api.k780.com\/upload\/weather\/d\/1.gif","wind": "南风转西南风"},{"days": "2021-08-09","week": "星期一","temperature": "32℃\/23℃","weather": "多云","weather_icon": "http:\/\/api.k780.com\/upload\/weather\/d\/1.gif","wind": "东风转西北风"},{"days": "2021-08-10","week": "星期二","temperature": "31℃\/23℃","weather": "阴转多云","weather_icon": "http:\/\/api.k780.com\/upload\/weather\/d\/2.gif","wind": "东风"},{"days": "2021-08-11","week": "星期三","temperature": "32℃\/23℃","weather": "晴转多云","weather_icon": "http:\/\/api.k780.com\/upload\/weather\/d\/0.gif","wind": "东南风转东北风"}]
}
Qt网络编程——get请求相关推荐
- Qt网络编程post请求,数据格式为json或x-www-form-urlencoded
目录 Qt网络编程post请求,数据格式为json或x-www-form-urlencoded 一..H文件 1..h头文件 2..h主代码 二..CPP文件 1.主代码 三.响应信息 返回结果(Jo ...
- Qt网络编程实战之HTTP服务器-安晓辉-专题视频课程
Qt网络编程实战之HTTP服务器-30196人已学习 课程介绍 设计了一个实用的HTTP服务器,基于Qt的网络框架实现.先详细介绍Qt的网络.IO.线程..自定义事件.配置文件等类库的 ...
- qt网络编程之使用cookie和ssl
文章目录 所使用的Qt版本:5.14.0 接收Cookies: 发送Cookies: 答案是:有7个(有多少个等号就有多少个cookie,每个cookie用 ; 分隔开来) 代码如下: 参考: 简 述 ...
- 第十四章:Qt网络编程
回顾: 第一章:Qt的概述 第二章:在Ubuntu编写第一个Qt程序 第三章:Qt的字符串和字符编码 第四章:Qt的信号和槽 第五章:Qt容器窗口(父窗口) 第六章:面向对象的Qt编程 第七章:Qt设 ...
- Qt网络编程概述(一)
分享主题 Qt网络编程概述(一) Qt网络编程之QTCPSocket和QTCPServer实例(二) Qt网络编程之QUdpSocket实例(三) Qt网络编程概述 QtNetWork模块提供了若干类 ...
- QT:Qt 网络编程基础
Qt 网络编程基础 1 )网络协议层次 // linux/unix ---> 4 层 OSI ---> 7 层 应用层(应用层.表示层.会话层) 传输层(传输层) // TCP/IP ...
- [Qt教程] 第31篇 网络(一)Qt网络编程简介
[Qt教程] 第31篇 网络(一)Qt网络编程简介 楼主 发表于 2013-8-28 17:04:17 | 查看: 515| 回复: 0 Qt网络编程简介 版权声明 该文章原创于作者yafeilin ...
- Qt网络编程之实例一GET方式
看了两天的Qt网络编程,其实主要就是看了看QNetworkAccessManager.QNetworkRequest和QNetworkReply这三个类的主要内容.在之前,Qt网络编程主要是使用QHt ...
- qt android 网络编程实例,QT网络编程Tcp下C/S架构的即时通信实例
先写一个客户端,实现简单的,能加入聊天,以及加入服务器的界面. #ifndef TCPCLIENT_H #define TCPCLIENT_H #include #include #include # ...
最新文章
- iOS 自定义返回按钮,保留系统滑动返回
- struts1-2,springMVC原理基本对比(单例,多例)-servlet与filter区别
- QT5生成可执行文件总结
- fiddler如何设置过滤https_Google Analytics如何设置含有过滤器的帐户数据视图
- js改变select下拉框默认选择的option
- Markdown案例
- ann matlab,MatlabANN工具箱实用指南.doc
- linux结构体数组的定义数组,task_struct结构体中的run_list和array域
- Vmware由于centos升级内核不可运行(C header files matching your running kernel were not found)的解决方案
- c语言字符串汇编,C语言调用汇编实现字符串对换
- JS 逻辑中断(二)
- java切割文件出现1k_java实现把一个大文件切割成N个固定大小的文件
- 学MySQL,这篇万字总结,真的够用了
- 系统角度解读Android P新特性
- 【转】Python之获取每日涨停板股票数据并绘制K线图!
- 北京杭州差距这么大?程序员在北京准点下班,在杭州12点在还加班
- FME助力新型基础测绘之存量测绘成果数据转换地理实体
- 计算机辅助设计在环境工程中的应用,试论计算机辅助设计在环境工程中的应用原稿(范文1)...
- 网站常用邮箱找回密码流程插件页面
- abe.jar工具的安装
热门文章
- 【ARM】仅用三个GPIO口实现串行SSI信号读取
- 如何在xml文件中引入约束【带解析】
- python随机生成IP地址
- 2023年5种最佳黑客编程语言
- 启动nacos-server报错:java.io.IOException: java.lang.IllegalArgumentException: db.num is null
- 机器学习:维数约减算法PCA(主成分分析法)原理、实现与应用
- ssh框架可以使用Ajax,基于Ajax的SSH框架的应用研究
- 筹码集中度90与70区别是什么?
- 中国休闲食品行业发展现状及前景分析,市场集中度低「图」
- Python爬取腾讯动漫全站漫画详细教程(附带源码)