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

cpp 有什么简洁的方案可以时间 http 请求吗?

  •  
  •   woshichuanqilz · 2021-08-19 13:44:14 +08:00 · 9099 次点击
    这是一个创建于 952 天前的主题,其中的信息可能已经有所发展或是发生改变。

    网上找了不少例子在 VisualStudio2019 里面都不能用 系统是 windows

    第 1 条附言  ·  2021-08-26 09:29:52 +08:00
    首先感谢那个提供了解决方案的 na 什么的那个兄弟, 虽然都说他脾气有点差但是我无所谓, 我觉得我是新手, 大佬愿意花时间给我解决问题我只有感激。 我这里说下我解决问题的过程, 下次我也会注意把问题描述的全面一些把我做的努力也说上。

    这个是我当时搜索 google 的结果,

    https://imgtu.com/i/hejBtg

    说实话这些文章写的实在是一般, 然后我也去了 stackoverflow 上找, 要么是 linux 的, 要么很长的文章看不懂。

    因为之前一直用 python, 而且我觉得 http 请求应该是个很常用的功能, cpp 的话不应该设置的过于麻烦, 所以我的思路是我的方向错了, 然后来这里求助。

    我个人的态度感谢 @nannanziyu 那个大佬帮我解决问题, 连方法都详细的说出来了, 我只有感谢, 态度可能不太好很正常的, 叫一个博士给一个大妈解释微积分啥的确实很难保证不着急。 大家的讨论我也认真的看了, 受益匪浅, 还是我的问题我下次把我做的工作也总结出来, 这样才能更好的针对性的解决问题。 谢谢大家的帮助。
    115 条回复    2021-08-23 18:06:20 +08:00
    1  2  
    aloxaf
        101
    aloxaf  
       2021-08-20 11:49:13 +08:00   ❤️ 2
    就我的体验而言,不少程序员都容易陷入「知识的诅咒」。

    前段时间有个好友安利了他的朋友来学 Python,然后那位朋友天天跑来请教他一些很简单的问题,于是他天天在群里吐槽这位朋友写的代码鬼画符一样,连一些基本的概念都理解不了。我当时就批评他这是陷入了「知识的诅咒」——你已经学编程这么多年了,当然不觉得这些基本概念有什么难以理解的地方,但他只是一位刚学编程的初学者,不理解再正常不过了,不必苛责。

    具体到 LZ 这个问题上也是一样——「我」能轻松从零解决这个问题,只能说明这个问题对「我」来说没有难度,但认为其他人也应该和你一样认为这个问题没有难度,那就有点自傲了。

    其实想想也不只是程序员,很多父母也是一样,总期望孩子的理解能力和自己一样,最后把自己气到脑溢血(

    最后来个解决「 Python 发 http 请求」的步骤,看看什么才叫低门槛:

    1. Google 搜索 "python http request"
    2. 点进第一个结果,也就是 requests 库的主页,马上就看到了大大的示例
    > r = requests.get('https://api.github.com/user', auth=('user', 'pass'))
    3. 往下一翻,User Guide 直接在章节标题里告诉了你怎么安装
    > python -m pip install requests
    4. 没了(
    Jwyt
        102
    Jwyt  
       2021-08-20 11:49:39 +08:00 via Android
    @nannanziyu 挺简单的,只能说对于半路出家非科班自学转程序员的人来说,相对于其他语言会有点门槛。我也不认为已经是其他语言的开发了,用个 c++做 http 请求会有困难
    nannanziyu
        103
    nannanziyu  
       2021-08-20 11:49:57 +08:00
    @OneMan
    > 有人人真是钻进去了出不来,恼火
    而且这有什么恼火的
    必须是“我不会,不是我自己蠢,而是语言太难”弥补你脆弱的自尊心,才能顺心?
    nannanziyu
        104
    nannanziyu  
       2021-08-20 11:50:41 +08:00
    @aloxaf
    请看 #37 #38
    nannanziyu
        105
    nannanziyu  
       2021-08-20 11:53:14 +08:00
    @Jwyt
    > 挺简单的

    是吧,对于你一个非 c++ 程序员,看了视频,也觉得挺简单的吧
    事情就是这么个事情,我认为“c++发简单 http 请求不难”
    不知道为什么那几位能把这么简单的事情杠出上百楼来
    至于门槛,还是那句话,可以把 c++当 c 写,门槛 0 ;也可以写自己都看不懂的模板,门槛珠穆朗玛
    但是“发简单 http 请求”真的不难
    ztcaoll222
        106
    ztcaoll222  
       2021-08-20 11:56:33 +08:00
    不知道有生之年能不能等到 c++ 拥有一个像 maven 、npm 这样通用的包管理工具,这样就不会有人来吐槽 c++ 门槛高了😂之前写 qt 的时候都是直接源码引入的
    leopod1995
        107
    leopod1995  
       2021-08-20 11:58:30 +08:00
    学到了新的理论 知识的诅咒 --还附带了活灵活现的例子

    v2 还真是学习知识的好地方
    nannanziyu
        108
    nannanziyu  
       2021-08-20 12:00:34 +08:00
    @ztcaoll222
    其实 vcpkg 已经很好用了,可以尝试一下
    lakechan96
        109
    lakechan96  
       2021-08-20 12:00:41 +08:00
    大家都是农民工,相煎何太急.jpg
    回答问题归回答,大可不必这么狂...

    如何让代码跑起来这个事情 nannanziyu 已经回答的很详细了就不赘述了

    对于楼主“找了一堆例子跑不起来”的疑问,我觉得 c++的生态比起后起之秀,确实没有那么容易理解,毕竟有大量的细节和“约定俗成”直接暴露在程序员的眼前。
    这对于习惯了从编码到运行,有着隐藏了大量细节的工具链的语言,可以只关注业务逻辑的程序员来说确实一下子难以接受。
    比如楼上提到的这个 conan 包管理器,我之前曾跟着官方文档的第一个 md5 例子,step-by-step 的做,都跑不起来...
    而微软光是包管理器就出了 vcpkg 和 nuget

    简而言之,在我的视点来看,C++的编译环境和工具链在不同机器上的可复现性是很差的,需要慢慢啃,楼主有这样的疑惑也很正常=。=
    ifconfig
        110
    ifconfig  
       2021-08-20 13:01:48 +08:00
    两小儿笑曰 孰为汝多知乎
    Hconk
        111
    Hconk  
       2021-08-20 13:02:34 +08:00 via iPhone
    我觉得 lz 要解决的不是 cpp 怎么发 http 请求的问题,而是《如何解决学习中遇到的问题》这个问题,nannanziyu 不光给出了怎么解决问题,还给出了他解决这个问题的流程。1. Google 2. 看官方文档,这两条比怎么发 http 请求对 lz 更有帮助。
    另外前面一些人说的 C++门槛与其他语言相比肯定是有的,lz 的问题就是 c++一直存在的包管理问题。经常写 C++就能知道 conan,vcpkg 这些也只能解决一部分问题。帮别人解决 C++问题,有些是 baidu 搜出来的垃圾文章误导,有些对英文文档有恐惧不看文档。这些和 C++语言本身的门槛并没多大关系。
    Maboroshii
        112
    Maboroshii  
       2021-08-20 13:32:44 +08:00
    门槛是挺高的,不过还是前面说的对,是人配不上 C++
    OneMan
        113
    OneMan  
       2021-08-20 16:19:03 +08:00   ❤️ 1
    @nannanziyu 我是说你技术钻进去出不来了,这么小的一个问题都值得你絮絮叨叨这么久
    Aspector
        114
    Aspector  
       2021-08-20 19:32:37 +08:00
    @aloxaf > The curse of knowledge is a cognitive bias that occurs when an individual, who is communicating with other individuals, assumes they have the background knowledge to understand.

    我很喜欢 C++,只能说爷新和遗老都要不得。Stroustrup 在 CppCon 上专门讲过怎么教 C++,怎么让 C++ 更 accessible,怎么照顾新手,我们需要 module,我们需要更好的 package/build system……总不能说 Stroustrup 是个懒鬼吧?
    stirlingx
        115
    stirlingx  
       2021-08-23 18:06:20 +08:00
    对新手来说 c++难点主要是工程管理,编译工具,还轮不到功能层面。比如 makefile 、cmake 、qmake 等,还有各种环境变量的配置
    1  2  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1003 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 22:11 · PVG 06:11 · LAX 15:11 · JFK 18:11
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.