Windows 一分钟使用 C++ 发送 Http 请求

2021-08-20 12:03:19 +08:00
 nannanziyu
有人说 c++ 发 http 请求麻烦,我不太认同,我认为一分钟内能搞定的事情,无论如何也谈不上“麻烦”
为了帮助后来人,方便以后英文不太好,常使用中文搜索的同学找到答案,我单独发到这里

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;
}


全程录屏:
<amp-youtube data-videoid="yOqH2wtvzSo" layout="responsive" width="480" height="270"></amp-youtube>
SEO Area:
C++ 发 http 请求
Cpp 发 http 请求
怎么用 Cpp 发 http 请求
http 请求 cpp
http 请求 c++
7315 次点击
所在节点    C++
92 条回复
pocarisweat
2021-08-20 14:35:50 +08:00
其实要是今天写一个新的 Cpp 库,直接面向 C++20 就行。因为那些用旧版编译器的肯定已经有自己接入的那堆库了。然后接入到各种 Cpp 包管理器里。
其实 C++包管理器这件事,这些年来一直有人在搞。流行不起来的原因还是用 Cpp 开新项目的太少了。
mrsecond
2021-08-20 15:30:28 +08:00
单纯提问,(本人在校软工研究生)。我想问下楼主学 Cpp 还有前途嘛,感觉好多人都在唱衰 Cpp,本人对 Go 和 Cpp 都挺感兴趣的,Cpp 和 Qt 学的稍微深入一点。有点担心到时候 Cpp 的工作岗位越来越少
nannanziyu
2021-08-20 16:25:49 +08:00
@mrsecond
个人意见,仅供参考哈
先列列现在行业的语言可选项:
现在移动客户端平台饱和,所以移动客户端限定语言 Objc Swift 之类的可以暂时排除(
桌面客户端现在都在往跨平台方向走,虽然人人讨厌 electron,但是桌面客户端目前就是 QT or Electron (MAUI 前景不明)
后端前景一直不错,五大主流语言 java go python node.js PHP 外加 dotnetcore,找工作的话,我国其实通常就是 Java 和 go
前端三大框架+ Svelte,Emberjs,但我国找工作其实就是 Vue

其实游戏后端和交易平台撮合引擎都是用 CPP,但是刚毕业肯定做不了,不考虑;游戏客户端也可以排除; AI 也排除
另外目前因为直播行业火,所以音视频开发火爆,薪水开的非常高,这个是 C++领域,不过音视频要的相关知识储备多,刚毕业也可以排除

所以个人意见,仅供参考哈
目前 nodeJS 相关的技术里,网页前端不说了,后端可以做,客户端 Electron 也可以做
如果你没有其他基础,学 nodeJS+Vue,短时间用来找工作比较合适
之后学一门脚本语言,shell /powershell /python
Qt 的话,说实话,QML 几乎没看到有工作需求,QWidget 的话有,但工作范围还是有点少。
个人意见,仅供参考哈
0o0o0o0
2021-08-20 16:31:32 +08:00
1.语法比较复杂,即时复制粘贴,也是需要读懂和使用的,否则也没有意义。
2.没有内置库或者官方库,虽然有很多高 star 的库,但是仍然是比具有官方库的语言来说麻烦。
这是让人觉得麻烦的主要原因。

其次是“麻烦”不等于“不会”。

就像大数乘法,c++和其他语言都可以实现,但是用 python 就是更方便。

就像洗碗麻烦吗,对于有些人来说麻烦,对于有些人来说不麻烦,麻烦的就去使用洗碗机,或者忍着麻烦去洗碗,觉得不麻烦就开开心心洗碗。

最后麻烦不是贬义,只是每种语言所擅长的事情不同。

就像用 c++去开发 web,可以吗,可以,麻烦吗,对于大部分人来说就是很麻烦呀。
nicevar
2021-08-20 16:43:25 +08:00
有些人就是这样,喜欢胡搅蛮缠,连装个 vs 都要怪到 c++头上,这是什么逻辑,nodejs 那套玩得不比 c++还麻烦?
nannanziyu
2021-08-20 16:51:16 +08:00
@nicevar
> 有些人就是这样,喜欢胡搅蛮缠,连装个 vs 都要怪到 c++头上,这是什么逻辑,nodejs 那套玩得不比 c++还麻烦?

是呀,也是无语
1. 关键是人能力差,自尊心还超级强,说一句“多思考下”,就是侮辱他们了
2. 给出搜索思路,不行,麻烦,要直接复制粘贴的答案;给出直接复制粘贴三行的代码,不行,我看不懂不算。大数乘法 cpp 就是比 python 麻烦。 我又没说大数乘法,我说的是“发个简单的 http 请求”不麻烦
3. 然后说你只会 c++,古董程序员,被时代淘汰了;给出擅长其他语言的证据以后,又,秀,秀什么秀
真是无语
yolee599
2021-08-20 17:04:44 +08:00
很多人觉得现在流行的是 web,但是那玩意文件又大又吃配置,运行还不稳定。我是不喜欢
nmap
2021-08-20 17:09:42 +08:00
UWP 是什么?
billlee
2021-08-20 17:10:24 +08:00
@nannanziyu 游戏、交易、音视频这些需要领域知识的,不要校招反而靠社招吗?感觉社招似乎也不容易找到有相关经验的人啊
o00o
2021-08-20 17:12:22 +08:00
@xarthur 来个原帖地址🐶,谢谢
leitwolf
2021-08-20 17:12:34 +08:00
我光看那些符号都头大了
lakehylia
2021-08-20 17:14:45 +08:00
相对于 http,我觉得 c++的二进制管理相当的烦。尤其是 stl,版本对不上就编译不通过,编译通过了,跑起来就各种崩。。。烦
siyi412009
2021-08-20 17:45:59 +08:00
真好 我也想学语言
xarthur
2021-08-20 17:47:21 +08:00
@o00o 楼主的历史发言里就有啊……
ReferenceE
2021-08-20 17:48:03 +08:00
哄堂大笑了
TOUJOURSER
2021-08-20 17:59:29 +08:00
@AoEiuV020 我记得昨天你俩因为这个争论过
sockpuppet9527
2021-08-20 18:09:14 +08:00
@darknoll #9
“c++这玩意确实跟不上时代了” c++每隔几年都有新特性。c++ Coroutines 都有了,不知道你“跟不上时代”的观点从哪里得出呢?

“唯一的优势是运行效率高,但是现在都是 web 了,速度瓶颈在于带宽”,想想如果用别的语言代替 C/C++去写 kernel,去写驱动,会不会有 NP 问题存在?
AoEiuV020
2021-08-20 18:10:33 +08:00
@TOUJOURSER 擦,at 我做什么,不想继续这种话题,
sockpuppet9527
2021-08-20 18:22:46 +08:00
@mrsecond
纠正下#23,“音视频开发”大多 SIMD/CUDA 。
我所知道的写 C++的,有前途一些的:做 DB 的,Storage 的,engine 类的,Heterogeneous computing 的,金融相关的,还有很多
houzhishi
2021-08-20 18:41:09 +08:00
mark 了,感谢楼主分享,如何学习更多类似这样的包呢?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/796981

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX