woshichuanqilz
V2EX  ›  C++

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

  •  
  •   woshichuanqilz · Aug 19, 2021 · 11958 views
    This topic created in 1753 days ago, the information mentioned may be changed or developed.

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

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

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

    https://imgtu.com/i/hejBtg

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

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

    我个人的态度感谢 @nannanziyu 那个大佬帮我解决问题, 连方法都详细的说出来了, 我只有感谢, 态度可能不太好很正常的, 叫一个博士给一个大妈解释微积分啥的确实很难保证不着急。 大家的讨论我也认真的看了, 受益匪浅, 还是我的问题我下次把我做的工作也总结出来, 这样才能更好的针对性的解决问题。 谢谢大家的帮助。
    115 replies    2021-08-23 18:06:20 +08:00
    1  2  
    aloxaf
        101
    aloxaf  
       Aug 20, 2021   ❤️ 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. 没了(
    Dockerfile
        102
    Dockerfile  
       Aug 20, 2021 via Android
    @nannanziyu 挺简单的,只能说对于半路出家非科班自学转程序员的人来说,相对于其他语言会有点门槛。我也不认为已经是其他语言的开发了,用个 c++做 http 请求会有困难
    nannanziyu
        103
    nannanziyu  
       Aug 20, 2021
    @OneMan
    > 有人人真是钻进去了出不来,恼火
    而且这有什么恼火的
    必须是“我不会,不是我自己蠢,而是语言太难”弥补你脆弱的自尊心,才能顺心?
    nannanziyu
        104
    nannanziyu  
       Aug 20, 2021
    @aloxaf
    请看 #37 #38
    nannanziyu
        105
    nannanziyu  
       Aug 20, 2021
    @Jwyt
    > 挺简单的

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

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

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

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

    简而言之,在我的视点来看,C++的编译环境和工具链在不同机器上的可复现性是很差的,需要慢慢啃,楼主有这样的疑惑也很正常=。=
    ifconfig
        110
    ifconfig  
       Aug 20, 2021
    两小儿笑曰 孰为汝多知乎
    Hconk
        111
    Hconk  
       Aug 20, 2021 via iPhone
    我觉得 lz 要解决的不是 cpp 怎么发 http 请求的问题,而是《如何解决学习中遇到的问题》这个问题,nannanziyu 不光给出了怎么解决问题,还给出了他解决这个问题的流程。1. Google 2. 看官方文档,这两条比怎么发 http 请求对 lz 更有帮助。
    另外前面一些人说的 C++门槛与其他语言相比肯定是有的,lz 的问题就是 c++一直存在的包管理问题。经常写 C++就能知道 conan,vcpkg 这些也只能解决一部分问题。帮别人解决 C++问题,有些是 baidu 搜出来的垃圾文章误导,有些对英文文档有恐惧不看文档。这些和 C++语言本身的门槛并没多大关系。
    Maboroshii
        112
    Maboroshii  
       Aug 20, 2021
    门槛是挺高的,不过还是前面说的对,是人配不上 C++
    OneMan
        113
    OneMan  
       Aug 20, 2021   ❤️ 1
    @nannanziyu 我是说你技术钻进去出不来了,这么小的一个问题都值得你絮絮叨叨这么久
    Aspector
        114
    Aspector  
       Aug 20, 2021
    @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  
       Aug 23, 2021
    对新手来说 c++难点主要是工程管理,编译工具,还轮不到功能层面。比如 makefile 、cmake 、qmake 等,还有各种环境变量的配置
    1  2  
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3145 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 54ms · UTC 14:13 · PVG 22:13 · LAX 07:13 · JFK 10:13
    ♥ Do have faith in what you're doing.