我想使用Qt获取腾讯股票接口的数据,使用的是http的get,相当于网页访问,但是腾讯股票接口的网络有获取代码数量限制,现有共5080个左右的股票,准备分成800个每组进行http请求获取,获取后再将结果进行拼接,但是时间要求为同时,请问如何才能使用Qt实现?另外麻烦告知这些属于哪方面知识,推荐些书或教程,谢谢
12条回答 默认 最新
- 傻傻的心动 2023-02-14 15:39关注
对于这个需求,可以考虑使用Qt的网络模块,通过发送多个并发请求来获取所有股票的数据,然后再将结果进行拼接。具体来说,可以使用QNetworkAccessManager类来管理网络请求,使用QNetworkRequest类来设置请求头和URL,使用QNetworkReply类来获取响应数据。
为了实现同时请求多个URL,可以使用QEventLoop类和QTimer类,将每个请求放入事件循环中,通过QTimer的timeout()信号来实现每隔一段时间发送下一个请求,以达到同时请求多个URL的效果。
此外,还需要注意到腾讯股票接口的访问频率限制,需要合理设置请求时间间隔,以避免被封禁IP等风险。
这些属于Qt框架的网络编程和多线程编程知识,可以参考Qt官方文档中的以下章节:
Qt Network Module: https://doc.qt.io/qt-5/qtnetwork-module.html
Multithreading Technologies in Qt: https://doc.qt.io/qt-5/threads-technologies.html
此外,对于网络编程和多线程编程方面的基础知识,可以参考以下经典书籍:Unix网络编程(卷1:套接字联网API)(W.Richard Stevens 著,郑钢 译)
Linux多线程服务端编程(汤亮 著)本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
- ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
- ¥16 mybatis的代理对象无法通过@Autowired装填
- ¥15 可见光定位matlab仿真
- ¥15 arduino 四自由度机械臂
- ¥15 wordpress 产品图片 GIF 没法显示
- ¥15 求三国群英传pl国战时间的修改方法
- ¥15 matlab代码代写,需写出详细代码,代价私
- ¥15 ROS系统搭建请教(跨境电商用途)
- ¥15 AIC3204的示例代码有吗,想用AIC3204测量血氧,找不到相关的代码。