windows64位系统curl命令安装及使用

字数 1064阅读 3719

在学习《深入浅出nodejs》Cookie章节的时候,有一个客户端发送cookie的终端命令。
curl -v -H "Cookie:foo=bar;baz=val" "http://127.0.0.1:1337/path?foo=bar&foo=baz
可以看出,curl命令可以通过命令行的方式,执行Http请求。
但是我打开cmd后运行上述命令,没有生效。

所以我将来探索下windows(64位)下安装并使用curl的方式,捎带会有一些有趣的思考。
PS:我的系统环境是 windows10(64位),因此凡是64位的windows系统,此方法均适用。

在官网处下载工具包:http://curl.haxx.se/download.html

此处下载的是CAB后缀的,后续会有版本选择说明。

使用方式1:在curl.exe目录中使用(非常不推荐)

解压下载后的压缩文件,通过cmd命令进入到curl.exe所在的目录。
  由于我使用的是windows 64位 的系统,因此可以使用I386或AMD64下的curl.exe工具。

使用方式2:放置在system32中(不推荐)

解压下载好的文件,拷贝curl.exe(I386和AMD64文件下的curl.exe均可)文件到C:\Windows\System32

使用方式3:配置用户变量(推荐)

直接编辑用户变量的Path,为其新增"你的curl目录位置\curl-7.56.1\I386"或"你的curl目录位置\curl-7.56.1\AMD64"

使用方式4:配置系统变量(非常推荐)

在系统变量中,配置
  CURL_HOME ----- "你的curl目录位置\curl-7.56.1"
  path ---- 末尾添加 “;%CURL_HOME%\I386”或者“;%CURL_HOME%\AMD64”

测试方法:
cmd或者ps窗口键入curl -h,返回下面的界面,表示curl安装成功。

说明:

1.方式2中的拷贝文件,必须是单个的curl.exe文件,直接存放在system32目录下
2.方式4中高级系统变量的设置,只能以目录作为最小单元

思考:

1.AMD64与I386的区别是什么,为什么都能用?
AMD64是64位系统,I386是32位系统,其实就是X64和X86的区别。
都能用的原因是,32位系统下的程序兼容64位系统。

2.环境变量分为:用户变量和系统变量,分别在什么场景下设置更好?
用户变量仅作用于当前用户。
系统变量可作用于所有用户。
系统变量优先级更高。例如用户变量和系统变量中同时设置了curl命令,会优先执行系统变量中的。
个人认为,常用系统工具,例如curl,npm这样的,可以设置到系统变量中;如果像chrome,evernote这种取决于用户习惯的命令,设置到用户变量中较好。

3.curl安装包版本选择?
大多数情况选择CAB版本,其他情况较少。


Win64 x86_64 7zip →curl_7_53_1_openssl_nghttp2_x64

这里是用OpenSSL,ngttp2,zlib和IPv6支持构建的Windows预编译的curl版本。
不过还是不明觉厉,我只觉得多了一个CA证书。

Win64 x86_64 zip curl源代码

在github上已开源,地址为https://github.com/curl/curl

Win64 x86_64 zip CAB 包含curl和libcurl

libcurl是curl正在使用的库。可以在自己开发的软件中使用。

Win64 x86_64 7zip→curl-7.56.1-win64-mingw

和Win64 x86_64 zip类似,具体功能未知。

参考:
https://www.cnblogs.com/xing901022/p/4652624.html

That it !

期待和大家交流,共同进步,欢迎大家加入我创建的与前端开发密切相关的技术讨论小组:

努力成为优秀前端工程师!