V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
intLee
V2EX  ›  C++

如何用 C++/QT 读服务器文件

  •  
  •   intLee · 2023-01-09 17:04:14 +08:00 · 1523 次点击
    这是一个创建于 688 天前的主题,其中的信息可能已经有所发展或是发生改变。
    初学 QT/C++

    具体作用是用作验证
    列如服务器上有一个 key.txt 如果 key 的内容正确就正常运行下面的其他代码
    反之则结束程序

    或者网络验证有什么更好的办法 想咨询一下
    8 条回复    2023-01-10 10:14:18 +08:00
    ligiggy
        1
    ligiggy  
       2023-01-09 17:25:00 +08:00
    你说的什么服务器,能直接 文件访问,就直接文件访问,然后用 filestream 读文件啊。
    LXGMAX
        2
    LXGMAX  
       2023-01-09 18:03:22 +08:00
    我猜是登录功能吧,你把内容放服务器,且具有一定数据格式比如 csv 、json 什么的,Qt 客户端用 http 下载下来后解析里面的内容,再判断即可
    intLee
        3
    intLee  
    OP
       2023-01-09 18:46:43 +08:00
    @ligiggy 就是比如 www.baidu.com/1.txt 这样的文件我查好像是不行。。。
    intLee
        4
    intLee  
    OP
       2023-01-09 18:48:40 +08:00
    @LXGMAX 对类似登录功能 我准备用 txt 或者 ini 大概就是我在服务器端可以控制这个程序是否能运行 /另外如果下载的话第二次使用 本地已经有这个文件了 是不是会影响判断
    lybcyd
        5
    lybcyd  
       2023-01-09 18:59:49 +08:00
    用作登录验证的话直接发 web 请求,服务端返回验证结果就行了吧,没必要把远程文件下载下来。具体方式上,复杂的有 oauth ,简单点就直接 http header 带个 token 。

    我不太懂 C++,查了一下 QT 已经封装了 web 请求,调用就可以,stackoverflow 给你参考一下:

    https://stackoverflow.com/questions/13302236/qt-simple-post-request
    cnbatch
        6
    cnbatch  
       2023-01-09 19:10:58 +08:00
    单纯下载文件保存至内存当中(不写硬盘),QT 自己就能做到:
    https://wiki.qt.io/Download_Data_from_URL

    除了 QT ,其他的选择也很多,既可以用 libcurl ,也可以用 cpprestsdk 。
    LXGMAX
        7
    LXGMAX  
       2023-01-10 09:15:21 +08:00
    @intLee 那就是每次登录都要从服务端拉一下,覆盖掉本地
    intLee
        8
    intLee  
    OP
       2023-01-10 10:14:18 +08:00
    @lybcyd
    @cnbatch
    @LXGMAX

    感谢各位指点 我尝试一下各位的方法
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2792 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 15:16 · PVG 23:16 · LAX 07:16 · JFK 10:16
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.