woshichuanqilz
V2EX  ›  C++

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

By woshichuanqilz at 2021 年 8 月 19 日 · 12675 次点击

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

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

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

https://imgtu.com/i/hejBtg

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

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

我个人的态度感谢 @nannanziyu 那个大佬帮我解决问题, 连方法都详细的说出来了, 我只有感谢, 态度可能不太好很正常的, 叫一个博士给一个大妈解释微积分啥的确实很难保证不着急。 大家的讨论我也认真的看了, 受益匪浅, 还是我的问题我下次把我做的工作也总结出来, 这样才能更好的针对性的解决问题。 谢谢大家的帮助。
115 条回复  •  2021-08-23 18:06:20 +08:00
第 1 页
共 2 页
12
rb6221
   1
rb6221  
   2021 年 8 月 19 日
curl 不行?
AoEiuV020
   2
AoEiuV020  
   2021 年 8 月 19 日
c++门槛还是这么高吗,一个 http 请求都很麻烦?
nannanziyu
   3
nannanziyu  
   2021 年 8 月 19 日   ❤️ 1
https://github.com/yhirose/cpp-httplib
A C++11 single-file header-only cross platform HTTP/HTTPS library.
nannanziyu
   4
nannanziyu  
   2021 年 8 月 19 日
@AoEiuV020
> c++门槛还是这么高吗,一个 http 请求都很麻烦?
请先确认前提,再引申结果,从错误前提引申的结果,只能证明自己无知
AoEiuV020
   5
AoEiuV020  
   2021 年 8 月 19 日   ❤️ 1
@nannanziyu 不至于,
要说有没有办法简单实现 http 请求我是一开始就相信有的,
但楼主的意思应该是已经在网上查找过,并且尝试过不少不可行的方案,

这就是前提了,
是说一个简单的 http 请求都能折腾到新手上来问,
而不是说 c++没有办法实现简单的 http 请求,
并没有什么错误,
nannanziyu
   6
nannanziyu  
   2021 年 8 月 19 日
@AoEiuV020
1. 首先 google 关键词 "c++ http library" 第二条结果就是 cpp-httplib
2. 楼主解决问题以及寻找答案的能力差,自己找不到答案,所以来请教,这是没有问题,因为请教也是解决问题的一个方法,至少努力了
但是看到一个错误前提,不花时间思考,条件反射地得出结论,不是解决问题的方法
AoEiuV020
   7
AoEiuV020  
   2021 年 8 月 19 日   ❤️ 18
@nannanziyu 感觉你这是习惯性偷换概念了,
我都说了我前提是楼主已经出来问了,你依然觉得你有解决方案而楼主没有就能说明是楼主不行,不是 c++门槛高,
另外我花了几分钟下载试了一下你说的这个库,甚至没有想像中的方便,这东西还依赖 openssl,不开启 CPPHTTPLIB_OPENSSL_SUPPORT 就不支持 https,开启了没有 openssl 就报错,
像我这种能力差的依然不能简单利用起来实现 http 请求,说一句“c++门槛还是这么高” 没毛病吧,
shawnsh
   8
shawnsh  
   2021 年 8 月 19 日 via Android
确实没有 modern cpp 风格的好用的 http 库
ztcaoll222
   9
ztcaoll222  
   2021 年 8 月 19 日
用 qt
ipwx
   10
ipwx  
   2021 年 8 月 19 日   ❤️ 1
@AoEiuV020 你说的很对,C++ 的库安装,在 VS 下就是忒麻烦。

所以我用 linux + cmake + conan.io 。这真的无痛,什么 openssl 、cpp-httplib 、libcurl 都是一键安装,直接运行
wutiantong
   11
wutiantong  
   2021 年 8 月 19 日
@ipwx vcpkg 不香吗?
jpacg
   12
jpacg  
   2021 年 8 月 19 日
c/c++用别人的轮子都麻烦,特别是在 Windows 下。
Otho
   13
Otho  
   2021 年 8 月 19 日
vcpkg + cpprest Qt 的也不是很好用。
nannanziyu
   14
nannanziyu  
   2021 年 8 月 19 日   ❤️ 8
@AoEiuV020
好,我来把解决“cpp 解决 http 请求”的整个流程列一下,你说说哪个步骤门槛高
1. 要做 http 请求,肯定找一下相关库,所以用 google 搜索 "c++ http library",第二条结果就是 cpp-httplib
2. 进入 cpp-httplib github 主页,花两分钟看下文档,ok,需要 “SSL support is available with CPPHTTPLIB_OPENSSL_SUPPORT. libssl and libcrypto should be linked.”
3. 尝试寻找 windows openssl library,使用 google 搜索 "windows openssl library download",同样第二条结果就是

4. 点击第二条进入 Openssl Binaries 下载主页
页面仔细看一下就知道下哪个。就算不知道在页面里搜索 library,一共三条结果,排除掉第二个 for ICS 的,一共就两个,下载下来

5. 把下载的 lib 和 headers 加入工程,实例代码拷贝一下,F5


你说说这里哪个门槛高?也只有第五步需要有一点点 L l IncludePath 的概念,但是连 IncludePath 也叫门槛吗?
araraloren
   15
araraloren  
   2021 年 8 月 19 日
你说的网上是 CSDN 吗???????
nannanziyu
   16
nannanziyu  
   2021 年 8 月 19 日   ❤️ 2
说实话,我之前都是用 cpprestsdk 和 QT 的,因为楼主要“简单方案”,所以今天是第一次接触 cpp-httplib
上面全部尝试过程都是"第一次接触",然后“尝试解决问题”的过程
程序员这个行业,搜索资料,尝试解决问题的能力是很重要的
如果觉得这个都有门槛,我真心觉得需要提升一下自己
bthulu
   17
bthulu  
   2021 年 8 月 19 日
可以安装 nodejs, c++动态生成 http 的 js 代码, 调用 cmd 脚本执行, 再读取控制台返回数据流即可
AoEiuV020
   18
AoEiuV020  
   2021 年 8 月 19 日
@nannanziyu 一个简单的 http 请求,甚至不能复制粘贴运行直接搞定,还要谷歌搜索两次,还要看文档,还要下载合适的库,还要正确的引用库,这就是门槛,
AoEiuV020
   19
AoEiuV020  
   2021 年 8 月 19 日
@AoEiuV020 #18 这个流程已经可以用于“实现任何功能”了,然而仅仅是一个“简单的 http 请求”就需要这么麻烦的操作,你的门槛是被踩碎了吧,巨人,
nmap
   20
nmap  
   2021 年 8 月 19 日   ❤️ 1
这种问题自己 google 两分钟就搞定的事,还拿来问,还引来大佬们的骂架。。。
sanyuedev
   21
sanyuedev  
   2021 年 8 月 19 日
Java 开发 弱弱的问一下 C++ 用 http 是不是没有库的话要自己解析 socket ..
jorneyr
   22
jorneyr  
   2021 年 8 月 19 日
封装了 Qt 的 Http 请求,调用方式如下,参考 http://qtdebug.com/qtbook-network-http-httpclient/

HttpClient("http://localhost:8080/api/rest").success([](const QString &response) {
qDebug().noquote() << response;
}).get();

// [3] POST 请求,使用 param 添加参数,请求的参数使用 Form 格式
HttpClient(url).debug(true).param("name", "卧龙").param("value", 99).success([](const QString &response) {
qDebug().noquote() << response;
}).post();
encro
   23
encro  
   2021 年 8 月 19 日
@AoEiuV020
@nannanziyu

门槛是相对的,

但是 C++门槛高是公认的,也是不会去重点改善的,看过作者原著的人应该都会有这个认识吧。

跨平台多字节处理就会搞死一批人,到 20 还没解决,提案到解决还要好几年吧。

如果 C++门槛低了,就没 Rust,C,GO,Python 一堆语言什么事了吧?
nannanziyu
   24
nannanziyu  
   2021 年 8 月 19 日   ❤️ 2
@AoEiuV020
还是说,如果你看完流程,还觉得是门槛的话
如果你是学生:没关系,慢慢提升
如果你工作年限 2 年内:先不要 leetcode 和背题了,尝试找些稍微大的项目,尝试完整实现,在尝试过程中,逐渐提升自己的“搜索资料,尝试解决问题的能力”,这是你的瓶颈
如果你工作年限在 2-3 年内:尝试考公吧,换工作还来得及
如果你工作年限在 3 年外:只能说一句晚安了
lucays
   25
lucays  
   2021 年 8 月 19 日
如果这么一个请求都要三年经验,还不算门槛么?
Rheinmetal
   26
Rheinmetal  
   2021 年 8 月 19 日
@nannanziyu
有这个流程 java 和 node 已经用脚手架把项目搭起来了
天下底层开发者苦 cpp 久矣
LotusChuan
   27
LotusChuan  
   2021 年 8 月 19 日   ❤️ 2
这是把自己的能力高低给当最低标准了吗。还是主要目的是进来给别人规划人生。
nannanziyu
   28
nannanziyu  
   2021 年 8 月 19 日   ❤️ 2
@Rheinmetal
语言是工具,每种工具都有适合自己的地方
java 和 node 用 cli 把项目搭起来之前,curl 已经把结果展示在控制台上了
并不能说明 java 和 node 门槛比 curl 高
c++ 门槛不高,可以当 C with class 来写;门槛也可以高,写自己都看不懂的模板
这个简单的实现一个 http 请求的门槛不高
bfdh
   29
bfdh  
   2021 年 8 月 19 日   ❤️ 1
curl --libcurl 甚至能帮你把 demo 写了。
benzalus
   30
benzalus  
   2021 年 8 月 19 日
主要是门槛的一个定义问题。对我来说,门槛大概是开箱即用的程度。像 python 3 句话搞定的,c++和这些比起来门槛就相对较高了
怎么搞的跟辩论赛似的
ysc3839
   31
ysc3839  
   2021 年 8 月 19 日
@AoEiuV020 #18
你说不能复制粘贴搞定,理论上配合第三方库是可行的。
前面 @nannanziyu 提到的 cpp-httplib 就已经是 header-only 的库,已经不需要你自己去折腾编译了,主要问题是那个库没有适配各个操作系统原生的 TLS API,而是省事直接用了个外部库,因此多了那几步,本质是看有没有别人帮你封装好,与语言无关。
但如果你想说别的语言都内置 http 库了,C++ 还没内置,所以门槛高,那你的结论是对的,因为 C++ 的标准委员会就是这个风格。但是在这个问题下说这个并没有意义,你只是把大部分 C++ 用户都知道的事实复述了一遍,对解决问题毫无帮助。
wevsty
   32
wevsty  
   2021 年 8 月 19 日
首先,我觉得理解 include 、link 、lib 是 c/cpp 的基本功,这不需要几年的工作经验来学习,也完全不是什么高门槛。
任何语言都面临怎么使用库的问题,不能说因为默认没有某某库就说这个语言的使用门槛高。

cpp 与其说门槛高,不如说是上限高。
毕竟你可以选择把 cpp 写成简单的 C 代码或者 C with class,也可以适当使用 cpp 的特性写出一些简单易懂的模板。
毕竟没有规则强迫你必须写成精品代码,也不必把模板写成谁也看不懂的样子。
AoEiuV020
   33
AoEiuV020  
   2021 年 8 月 19 日
@ysc3839 你这个说的没错,
”你只是把大部分 C++ 用户都知道的事实复述了一遍,“
然而真有人不知道,还怼我,这就让我不爽了,

另外,”对解决问题毫无帮助。“
我的确不是来解决问题的,让我做的话应该会引用 libcurl, 我并不知道更简单的,所以没有回答问题,
hankleeeeeee
   34
hankleeeeeee  
   2021 年 8 月 19 日
1
www5070504
   35
www5070504  
   2021 年 8 月 19 日   ❤️ 1
@AoEiuV020 跟他们抬杠就已经落下风了 还是不理就好了
ZXCDFGTYU
   36
ZXCDFGTYU  
   2021 年 8 月 19 日
这不就是个 HTTP 服务端和客户端的 C++实现的问题么。。这两个问题随便哪个百度一下得到答案的所需时间成本超过 15 分钟?不明白这吵来吵去 30 多层楼的意义。。
nannanziyu
   37
nannanziyu  
   2021 年 8 月 19 日   ❤️ 2
@AoEiuV020
你要复制粘贴的方法? OK
1. VS 新建一个 Cpp console 工程,工程右键 -> Manage nuget packager
2. 搜索 cpprestsdk,并 点击 install

3. 复制以下代码替换 main.cpp ,然后 F5

#include <iostream>
#include <cpprest/http_client.h>
int main()
{
web::http::client::http_client client(U("https://postman-echo.com/get?a=b"));
auto rsp = client.request(web::http::methods::GET).get();
auto body = rsp.extract_string().get();
std::wcout << rsp.status_code() << "\n" << body << std::endl;
}

nannanziyu
   38
nannanziyu  
   2021 年 8 月 19 日   ❤️ 2
@AoEiuV020
全部过程录屏
l00t
   39
l00t  
   2021 年 8 月 19 日
@ipwx conan 本身配置就挺麻烦的啊,cmake 也是得自己写,距离一键还远。
OneMan
   40
OneMan  
   2021 年 8 月 19 日
c++确实门槛高,搞个什么 http,ssl 最烦了
casioyan
   41
casioyan  
   2021 年 8 月 19 日   ❤️ 2
@nannanziyu 如果这是一个公司内部技术讨论群,我觉得你这么说无可厚非,在论坛上只会让人觉得恶臭。
nannanziyu
   42
nannanziyu  
   2021 年 8 月 19 日
为什么一开始不提供 cpprestsdk 的方法
因为楼主要简洁的方案
cpprestsdk 的门槛比 cpp-httplib 高的多得多得多,cpprestsdk 的模板代码没有 10 年工作经验看不懂;即使不看源代码只使用,因为 cpprestsdk 基于 pplx,天生异步 task,对于新手来说难度很高
而 cpp-httplib 更适合新手,只要有一点 cpp 基础,就能使用
门槛和简易度是没有关系的
hangs
   43
hangs  
   2021 年 8 月 19 日
楼主不会是参考的某*SDN 的吧。C++虽说有门槛,但我不认为没有开箱可用的 library 就算高门槛,只能算是繁琐吧
nannanziyu
   44
nannanziyu  
   2021 年 8 月 19 日   ❤️ 5
atx
   45
atx  
   2021 年 8 月 19 日
@nannanziyu #14 进了第一条链接,然后出不来了🐶
nannanziyu
   46
nannanziyu  
   2021 年 8 月 19 日
@lc1450 那看下 #37 吧,#37 没有链接,不会监禁人 🐶
buddyy
   47
buddyy  
   2021 年 8 月 19 日   ❤️ 1
啊哈哈哈,笑死我了🤣
AoEiuV020
   48
AoEiuV020  
   2021 年 8 月 19 日 via Android
@nannanziyu 自信一点,求你了,不要以为你能跨过的都不是门槛,你没有那么 low,
br00k
   49
br00k  
   2021 年 8 月 19 日
感觉对比其它语言来说还是比较麻烦的,特别跨平台的时候感觉多了很多坑。
😂习惯了包管理,添加依赖以后就可以随便写了。
nannanziyu
   50
nannanziyu  
   2021 年 8 月 19 日   ❤️ 3
@AoEiuV020
新建工程,内置包管理点一下,复制粘贴 F5,真的算门槛吗?
我自问从头到尾都是好好说话,诚心帮助人,你句句杠字字刺,何苦呢
我也马上快四十了,见过的人里,脾菜比(脾气 /菜)你也算在前五了
nannanziyu
   51
nannanziyu  
   2021 年 8 月 19 日   ❤️ 1
一幅图送你,与君共勉,晚安
OxOzZ
   52
OxOzZ  
   2021 年 8 月 19 日
看到快 40,马上就跟某种刻板印象匹配了,这帖子一下子合理了
AoEiuV020
   53
AoEiuV020  
   2021 年 8 月 19 日 via Android   ❤️ 3
@nannanziyu 你还是去睡觉吧,你没怎么见过我这样的,可你这样的我倒是在游戏区见过不少,提起魂类游戏就说简单的一匹,无伤就能打赢的 boss 有什么难的,就是你这种了,
bestwaytowait
   54
bestwaytowait  
   2021 年 8 月 19 日
相比于其它语言就是门槛高啊,这话没什么问题。还有 cpp 的包管理,相比其它一些语言的普及广度,使用深度,就是差很多啊,也没什么问题
zxCoder
   55
zxCoder  
   2021 年 8 月 19 日
看了半天楼上的讨论,所以 c++粉丝到底是希望门槛高好还是门槛低好啊
lingxi27
   56
lingxi27  
   2021 年 8 月 19 日
门槛确实是相对的,对于一个 c++程序员来说楼主的问题还不至于称为门槛
LANB0
   57
LANB0  
   2021 年 8 月 19 日
对于需要往各种硬件平台移植各种库的开发者来说,我需要有一个可以按照各硬件平台依赖的包管理
xe2vherd
   58
xe2vherd  
   2021 年 8 月 19 日
y1s1,c++相对于 Java, Python 引入库确实麻烦。
pengtdyd
   59
pengtdyd  
   2021 年 8 月 19 日
睡觉,睡觉,我一个 java 程序员不掺和 cpp 的讨论
nicevar
   60
nicevar  
   2021 年 8 月 19 日   ❤️ 1
@nannanziyu 你跟那种嘴巴厉害解决不了问题的人杠没意思,一个写 c++的,弄个 http 请求都算门槛的话,那门槛是平的了
zhoujinjing09
   61
zhoujinjing09  
   2021 年 8 月 19 日   ❤️ 1
yysy 现代语言好像只有 C++标准库做不了这个事情要另外引入包
darknoll
   62
darknoll  
   2021 年 8 月 19 日
c++这玩意,我司用了十年都转其他语言了
Hallelu
   63
Hallelu  
   2021 年 8 月 19 日 via iPhone
http 这块说实话对于稍微有经验的 c++来说,不是啥问题,随便在搜个库,编译配置依赖头文件链接就能用了,如果是 go,python 转过来要使用相对来说比 c++转到 go,python 使用 http 门槛高多了,毕竟人家就一句 http.Get()就完事了 :)没办法 这块是硬伤
darer
   64
darer  
   2021 年 8 月 19 日
@nannanziyu 图不错 有原图吗(
FACEB00K
   65
FACEB00K  
   2021 年 8 月 19 日
boost 和 Qt 随便用
iyear
   66
iyear  
   2021 年 8 月 19 日
可以,看吵架还学到了不少,自己还心情愉悦,血赚
AoEiuV020
   67
AoEiuV020  
   2021 年 8 月 19 日 via Android   ❤️ 1
@Hallelu 有经验了还谈什么门槛?门槛栏的是入门前的,搜个库,编译配置依赖头文件链接哪一步都不是入门前该会的,
jdz
   68
jdz  
   2021 年 8 月 19 日 via Android
brpc
mrsecond
   69
mrsecond  
   2021 年 8 月 19 日
还是用 Qt 的 QNetWorkAccessManager 吧,全面而且好用点
fzcf
   70
fzcf  
   2021 年 8 月 19 日
到现在难道没发现楼主一句话没说嘛。难道这是引战贴???🤓️
ufan0
   71
ufan0  
   2021 年 8 月 19 日
Blue DO 的同学发言一开始就是站在制高点,像极了一般的小 TL 。

友好交流是基础,而不是上来就是“只能证明自己无知”。
LotusChuan
   72
LotusChuan  
   2021 年 8 月 20 日 via iPhone
回头来看这是引战的吗。这需求就算是在 stackoverflow 里面也能直接搜出来,都不用自己提问。就算是不行也好歹把哪不行给提出来吧。
neoblackcap
   73
neoblackcap  
   2021 年 8 月 20 日
事实上 Windows 有自带的 Http 请求 API,完全可以什么第三方库都不用,只用 Windows 标准库就可以了。而且 msdn 有很好的文档以及例子。
当然了,微软的 API 好不好用则是另外一回事。
F281M6Dh8DXpD1g2
   74
F281M6Dh8DXpD1g2  
   2021 年 8 月 20 日 via iPhone   ❤️ 1
cpp 还有禁卫军也是少见
snailya
   75
snailya  
   2021 年 8 月 20 日
windows 的话,vcpkg,然后想用什么就用什么
sandman511
   76
sandman511  
   2021 年 8 月 20 日   ❤️ 1
@nannanziyu
“请先确认前提,再引申结果,从错误前提引申的结果,只能证明自己无知“
"但是看到一个错误前提,不花时间思考,条件反射地得出结论,不是解决问题的方法"
”如果你工作年限在 2-3 年内:尝试考公吧,换工作还来得及“
技术上不管对错 你说这些干什么?你太好为人师了

就跟楼主问:"求抖音上好玩的账号”
你回答:“少刷抖音 多学习“
呕
sandman511
   77
sandman511  
   2021 年 8 月 20 日   ❤️ 6
@nannanziyu
”我自问从头到尾都是好好说话,诚心帮助人,你句句杠字字刺,何苦呢“
你觉得自己在好好说话
你在#4 说了别人无知 你在#6 说了别人不会思考
再此之前人家只是说了句 Cpp 门槛高罢了
您真的快 40 了嘛 你同事也太惨了
hatsuyuki
   78
hatsuyuki  
   2021 年 8 月 20 日
TomVista
   79
TomVista  
   2021 年 8 月 20 日   ❤️ 1
https://v2ex.com/t/796557

这是昨天的一个帖子,已经进了水深火热,之前是 v 站头版头条,

再加上这个贴

快笑死我了

另外,我在 v 站已经被标记了,帖子权重低,@回复 没有提醒.
wbbtcool
   80
wbbtcool  
   2021 年 8 月 20 日   ❤️ 1
想起复联四里面灭霸对钢铁侠的一句话,你不是唯一被知识诅咒的人。知识诅咒,一旦知道某样东西,就很难想象不知道它的时候会是什么样子。
simo
   81
simo  
   2021 年 8 月 20 日
本想正经回答,结果重温了小学课本的故事:小马过河
TSai2019
   82
TSai2019  
   2021 年 8 月 20 日 via Android
微软不是有 WinHTTP 吗
ysc3839
   83
ysc3839  
   2021 年 8 月 20 日
@TSai2019 有是有,但我个人觉得谈不上简洁,前置步骤太多了,发一个简单的请求甚至比 libcurl 需要的代码还多。
nannanziyu
   84
nannanziyu  
   2021 年 8 月 20 日
@sandman511
> 您真的快 40 了嘛 你同事也太惨了
我同事惨吗?我之前好歹带身边六七个同事年入百万
https://v2ex.com/t/317307
nannanziyu
   85
nannanziyu  
   2021 年 8 月 20 日   ❤️ 1
@sandman511
> 再此之前人家只是说了句 Cpp 门槛高罢了
No,他说的是“一个 http 请求都很麻烦”
而一个 http 请求非常容易。#37 楼的解决方案:建工程,自带包管理点一下,Copy & Paste 就完成了一个 http 请求
所以这是一个错误的结论
如果你看到一个人信誓旦旦的说 1+1 = 3,你会不会觉得他不会思考
Stoulla
   86
Stoulla  
   2021 年 8 月 20 日 via Android
啊,这个帖子我喜欢,虽然怼的火气有点重,但是都有理有据,甚至还有录屏。感觉回到了当初的互联网。

希望 l 大别把这帖子扔进水深火热了。真心希望论坛有更多这种有理有据互怼帖
hst001
   87
hst001  
   2021 年 8 月 20 日 via Android   ❤️ 1
@nannanziyu 什么叫门槛?入门的人才会遇到门槛,你说的一大堆对老油条来说就几分钟的事情,对新手就是几天,你以为搜索一下,其实新人还要去理解一大堆参数,这个库干什么的,那个库干什么的,然后找 API,很多老油条自然而然的过程,在新手那里就是问题,问题越多对这个新手来说门槛就是越高。一门语言,如果大部分新手入门都会遇到很多问题需要很多时间去熟悉解决,那只能说明这门语言门槛就是高。
skinny
   88
skinny  
   2021 年 8 月 20 日
又蠢又懒就别用这么麻烦的语言呗
qooweds
   89
qooweds  
   2021 年 8 月 20 日
虽然每个人的背景不同
但是张口闭口就是菜的是真没礼貌
wangxn
   90
wangxn  
   2021 年 8 月 20 日
C++ 的标准库确实太简陋了,基本是数据结构相关的,功能性的库少之又少,文件系统、线程、随机数这些即使有,我觉得也不算易用,基本是完美阐释什么叫过度设计。最典型的是连一点冗余都忍受不了,必须要想方设法地做到最精简。
假如 Google 能完整开源它们自己的内部库,那对业界是件大好事。现在是有一部分被开源出来了: https://abseil.io/
这个库我是必用的,补充了很多标准库缺失的东西,而且非常易用。
nannanziyu
   91
nannanziyu  
   2021 年 8 月 20 日
@qooweds
我哪里张口闭口说菜了

他说“一个 http 请求都很麻烦”
我 #14 拿证据出来,简单搜索几分钟就能得到结果
然后他说,“这不算,还要搜索,只有简单复制粘贴才能算不麻烦”
好的,然后我 #37 #38 给出了只需要复制粘贴的答案
然后他马上转进,原地三百六十五度打滚

然后就这,我一直被杠到 #50 才受不了说了句菜,人脾气再好,也会生气的吧
Dockerfile
   92
Dockerfile  
   2021 年 8 月 20 日
看完了,对新手确实有门槛
nannanziyu
   93
nannanziyu  
   2021 年 8 月 20 日
@Jwyt
你觉得 #37 楼的方法麻不麻烦呢
skinny
   94
skinny  
   2021 年 8 月 20 日
x940727
   95
x940727  
   2021 年 8 月 20 日
一个 Java Python Go JavaScript 都稍微用过的,一直认为 HTTP 调用都是语言自带标准库就支持的,发现新天地了……
Dockerfile
   96
Dockerfile  
   2021 年 8 月 20 日
@nannanziyu
。。个人感觉也有点麻烦
你最开始的方法是 google,这个你得考虑墙,当然百度应该也是有的
你第二个 复制粘贴 的方法,我看了下一个是 Manage nuget packager,一个是 cpprestsdk 我都不知道是啥
当然我不是 c++开发,我也没有去尝试过,我的说法很片面
nannanziyu
   97
nannanziyu  
   2021 年 8 月 20 日
@Jwyt
你看下#38 的视频……
OneMan
   98
OneMan  
   2021 年 8 月 20 日
有人人真是钻进去了出不来,恼火,一看年龄,又能理解了,固化了
nannanziyu
   99
nannanziyu  
   2021 年 8 月 20 日
@x940727
语言是工具,每种工具都有适合自己的地
Rust 也没有原生 http 库,C 也没有

语言各有优略,你说的这几门语言除了 golang,我都写过十几年,java 还是我的主吃饭语言
java 裹脚布
python 纸质书翻页需要游标卡尺
go 泛型都没有,1M 的源代码有 500k 的 if err != nil
javascript 弱类型大型项目管理困难,ts 救了无数人的命
如果只说语言优劣,那除了 ts 和 c# 别的都没有意义了?
还是那句话,语言是工具,每种工具都有适合自己的地
nannanziyu
   100
nannanziyu  
   2021 年 8 月 20 日
@OneMan
固化的不是你这种刻板印象的人嘛
第 1 页
共 2 页
12
© 2026 V2EX · 259ms · 3.9.8.5