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

win10,11 居然内置 curl 了

  •  1
     
  •   tux · 2023-10-26 06:04:32 +08:00 · 6907 次点击
    这是一个创建于 428 天前的主题,其中的信息可能已经有所发展或是发生改变。
    什么时候把 dig 也集成一下
    47 条回复    2023-10-27 16:31:33 +08:00
    1145148964
        1
    1145148964  
       2023-10-26 06:18:14 +08:00
    你说的可能是 powershell 的 curl
    lovestudykid
        2
    lovestudykid  
       2023-10-26 07:04:01 +08:00   ❤️ 1
    kokutou
        3
    kokutou  
       2023-10-26 08:22:45 +08:00 via Android
    curl ssh
    属于那种 有 又不好 有 bug 那种。。。
    ragnaroks
        4
    ragnaroks  
       2023-10-26 08:33:11 +08:00
    dig 有一大堆东西,不太可能内置。

    curl 行为也和 linux ( debian 11 )不同, [curl --header "Host: web.site" https://1.2.3.4] 将会报错证书错误,但 linux 下正常响应
    tsanie
        5
    tsanie  
       2023-10-26 08:36:49 +08:00   ❤️ 1
    以前是 ps 的 alias ,现在是 curl.exe
    yuchenr
        6
    yuchenr  
       2023-10-26 08:40:05 +08:00
    很早就内置 curl.exe 了
    kingfalse
        7
    kingfalse  
       2023-10-26 08:47:04 +08:00 via Android
    假的,都是假的,用起来贼恶心
    body007
        8
    body007  
       2023-10-26 08:47:35 +08:00
    有 bug ,我遇到过自己生成的证书,用 window 的 curl 带上 ca 根证书报错,用 wget 没问题,用 mingw 的 curl 也没问题。因此我把 window 自带的 curl 替换成 mingw 的 curl 了。
    Greendays
        9
    Greendays  
       2023-10-26 08:48:34 +08:00
    Powershell 功能强大,但真用不明白。。。
    lyxeno
        10
    lyxeno  
       2023-10-26 08:50:40 +08:00
    也不能说是假的 curl,但是使用方式上和 linux 上的那些完全不一样😥根本没法用
    Showfom
        11
    Showfom  
       2023-10-26 08:52:36 +08:00
    ISC 已经不提供 Windows 的 dig 了

    https://www.isc.org/download/

    Note: Native Windows builds are no longer available. The Subscription Edition offers features not found in the open source version of BIND, including EDNS Client-Subnet Identifier, Cisco Umbrella integration, and more. Click below to request additional information.
    Showfom
        12
    Showfom  
       2023-10-26 08:56:59 +08:00
    @Showfom #10 不过最后一个打包好的 Windows 旧版本还是可以找到

    https://ftp.isc.org/isc/bind9/9.17.15/BIND9.17.15.x64.zip
    bjzhou1990
        13
    bjzhou1990  
       2023-10-26 08:58:07 +08:00
    powershell 虽然强大,但 Windows 下我还是建议 cmd + clink ,用过之后就回不去了,是真好用
    dode
        14
    dode  
       2023-10-26 09:02:23 +08:00
    现在还有 tar 呢
    jwz426
        15
    jwz426  
       2023-10-26 09:03:48 +08:00
    wsl2 不香吗?
    chinaguaiu
        16
    chinaguaiu  
       2023-10-26 09:15:21 +08:00   ❤️ 3
    powershell 的命令我用的不习惯,又是大小写又是横杠线的,码出来麻烦还难记
    andytao
        17
    andytao  
       2023-10-26 09:15:31 +08:00
    最近突然发现 Windows 内置了 Curl ,就用它实现了袋鼠版本升级功能,先凑合着用。
    flyqie
        18
    flyqie  
       2023-10-26 09:18:00 +08:00 via Android
    别用。

    他跟你知道的 curl 不是同一个东西。。
    coolcoffee
        19
    coolcoffee  
       2023-10-26 09:38:53 +08:00
    Windows 上的 curl 和 wget 都和 unix 版本的不同。没有 ChatGPT 帮忙的话,真的学不动了。
    roycestevie6761
        20
    roycestevie6761  
       2023-10-26 09:45:54 +08:00
    alias
    xdeng
        21
    xdeng  
       2023-10-26 09:48:55 +08:00
    之前因为 curl 有漏洞 微软还特地发了个更新呢
    mmdsun
        22
    mmdsun  
       2023-10-26 10:00:33 +08:00
    @flyqie
    @kokutou
    @kingfalse


    curl.exe 才是真正的 curl ,curl 是 powershell 的 alias
    body007
        23
    body007  
       2023-10-26 10:02:36 +08:00
    @bjzhou1990 既然用 cmd+clink 那为何不直接用 cmder ,一步到位呢。
    assiadamo
        24
    assiadamo  
       2023-10-26 10:03:19 +08:00
    甚至还有 ssh scp ,我现在都不用各种 xshell 之类的工具了
    jackmod
        25
    jackmod  
       2023-10-26 10:04:33 +08:00
    curl.exe 和 tar.exe 都有。在写 Dockerfile 时是必要工具,下载东西不需要调用 ps 写那些反人类指令。
    jackmod
        26
    jackmod  
       2023-10-26 10:05:48 +08:00
    顺便这个自带的 tar.exe 可以解包 zip 。
    xxx027
        27
    xxx027  
       2023-10-26 10:51:00 +08:00 via Android
    bjzhou1990
        28
    bjzhou1990  
       2023-10-26 12:28:13 +08:00
    @body007 #23 忘记为啥卸载 cmder 了,现在 Windows terminal 够我用了
    shijingshijing
        29
    shijingshijing  
       2023-10-26 13:21:02 +08:00
    不追求性能的话,宁愿用 git bash 自带的那个 MinGW 自带的,也不会用 PowerShell 。
    PrinceofInj
        30
    PrinceofInj  
       2023-10-26 13:42:24 +08:00
    自从集成了 ssh ,临时在 windows 连 esxi 再也不是问题了。
    cnbatch
        31
    cnbatch  
       2023-10-26 14:28:39 +08:00   ❤️ 3
    看来许多人都不知道,Windows 10 自 2018 年的 1803 更新起,就自带 ssh 、curl 和 tar ,微软自己就有记录:
    https://devblogs.microsoft.com/commandline/windows10v1803/
    只要用 cmd.exe 的话,就能保证一定是用到 curl.exe ,而不是 PowerShell 的 Invoke-WebRequest

    而且自 PowerShell 7 起,‘curl’ 不再是 Invoke-WebRequest 的 alias 。
    所以,只要是使用 cmd.exe 或者 PowerShell 7 运行 curl ,就一定不会触发旧版 PowerShell 的 Invoke-WebRequest

    唯一问题是,Windows 自带的 curl 版本比较旧,所以用起来稍微会有差异。
    还有,Windows 虽然带了 tar ,但是不少 Windows 版本都缺少相关压缩库依赖,无法支持部份选项。也就 Windows 11 在 2023 年 9 月更新之后会有所改善,可以支持的选项齐全一点。
    Tumblr
        32
    Tumblr  
       2023-10-26 14:37:06 +08:00
    @chinaguaiu #16 首先呢,PowerShell 大小写是不敏感的,即使 pwsh on MacOS ,大小写也是不敏感的。其次呢,PowerShell 的命令格式都是 Verb-Noun ( alias 和自定义的除外),其实是极度直观的,根本就不用特意去记。

    但是设计者似乎忽略了一个问题: 并不是每个 PowerShell 用户的英语都那么好。。。
    lambdaq
        33
    lambdaq  
       2023-10-26 14:41:24 +08:00
    @ragnaroks curl -k 试试。。反正我一直带这个参数。
    LitterGopher
        34
    LitterGopher  
       2023-10-26 14:46:08 +08:00
    用 windows 的时候感觉除了 ping 其他命令好像都没用过。
    wipbssl
        35
    wipbssl  
       2023-10-26 14:48:34 +08:00
    早就内置了 curl 了啊,alias curl 那次被 curl 社区怼了之后就内置了
    digimoon
        36
    digimoon  
       2023-10-26 14:51:28 +08:00
    能不能将 tcpdump 之类的内置了
    noErr
        37
    noErr  
       2023-10-26 15:00:20 +08:00
    @Tumblr 因缺思厅😄😄😄😄
    chinaguaiu
        38
    chinaguaiu  
       2023-10-26 16:27:54 +08:00
    @Tumblr 'curl'是 4 个字母,'Invoke-WebRequest'是 17 个字母,两个命令的字面名称长度差别太大了。其次,Verb-Noun 这种格式的初衷应该是想通过命令字面名称反映语义吧?我个人暂时感受不到好处,说到底在 shell 上敲命令又不是自然语言编程,写那么清楚、完整的字面命令给谁看?
    我是觉得 Powershell 没必要在字面值命名下自己搞这套东西,有那工夫多写几个 help 才实在。
    每次看 powershell 脚本真是一种折磨,有的命令几十个那么字母长,到头来也就一个语义,很简单的语句命令给它搞成一坨。我用不明白。
    hez2010
        39
    hez2010  
       2023-10-26 16:39:37 +08:00
    @chinaguaiu 但是 Invoke-WebRequest 有一个叫做 iwr 的 alias ,这岂不是比 curl 还要短了?
    PrinceofInj
        40
    PrinceofInj  
       2023-10-26 16:41:58 +08:00
    @chinaguaiu #38 Poweshell 这种动词名字的情况,在原生命令行下不太方便,尽管有自动补全,但是还是需要打上动词-名词的首几个字母才行。但是在配了 vscode 插件的情况下,vscode 可以直接任意大需要的字母,比如 invoke-webrequest ,打上 iwb 就联想出来,还是非常方便的。不知道什么时候原生命令行也能达到这种程度。
    PrinceofInj
        41
    PrinceofInj  
       2023-10-26 16:44:34 +08:00
    @Tumblr 另外,词语都很很简单,不需要多高的英语水平。还有一个好处是可以猜命令,比如我想看一下系统的磁盘情况,我可以直接试试看 get-disk,如果没有返回,那么就是是 gcm *disk*,就大概率能找到需要的命令了,换到 linux ,我实在是不知道 df ,dh ,du ,dd 这一大堆到底是什么意思,简单倒是简单了。
    Tumblr
        42
    Tumblr  
       2023-10-26 17:55:46 +08:00   ❤️ 1
    @chinaguaiu #38 首先要搞清楚 PowerShell 的定位,PowerShell 本身是脚本语言,不是开发语言,所以使用场景首先就是 console 上的,至于你说的长度,其实这个说法没有太大意义,像 Java 啊、C#之类的这些开发语言,有的方法名比这个长多了,另外 @hez2010 #39 也提到了,对于一些常用的 cmdlets 都有相应的 alias 的,对于自己常用的也可以自己定义 alias 。

    总之呢,PowerShell 是个好东西,但是成都的麻辣烫不一定合东北哥哥的口味,如果是做开发的,或者是玩 Linux 的,了解一下没坏处,不想了解也没损失,但是对于 Windows 运维,尤其是稍微专业点的 DevOps ,更尤其是涉及到微软产品的,PowerShell 是必修课。
    vvhy
        43
    vvhy  
       2023-10-26 23:07:45 +08:00
    @PrinceofInj #41 所言极是,这些缩写,还有 args 总是记不住
    busterian
        44
    busterian  
       2023-10-27 09:06:47 +08:00
    get-alias curl 试下
    chinaguaiu
        45
    chinaguaiu  
       2023-10-27 10:31:33 +08:00
    @Tumblr #42 谢谢回复。我在 windows 下的 shell 操作一般只有开发用途,进行一些简单文件操作或者查看一下系统变量什么的,偶尔编译一下代码或者访问一下网络资源,应该说,我是没有在 windows 上进行运维的需求的,所以基本上是对 windows 上的 shell 工具集和工具链没有什么了解,连查个命令文档都费劲,嫌 powershell 命令太长只是对此反映出来一个表象罢了。

    但是毕竟日常开发和日常使用还是在 windows 上居多,没有一个 shell 不是太顺手。安装一个独立的 bash shell ?使用 windows 子系统?不太拿的定主意,毕竟这两个东西还是可能存在一定的兼容问题。
    cosette
        46
    cosette  
       2023-10-27 13:05:02 +08:00
    内置的工具很好,就是支持的参数不一致,微软啊,你做的好啊,下次……
    luzemin
        47
    luzemin  
       2023-10-27 16:31:33 +08:00


    当然在终端使用的时候,还可能是 PowerShell Invoke-WebRequest 命令的 alias
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   957 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 20:39 · PVG 04:39 · LAX 12:39 · JFK 15:39
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.