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

win10,11 居然内置 curl 了

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

    curl 行为也和 linux ( debian 11 )不同, [curl --header "Host: web.site" https://1.2.3.4] 将会报错证书错误,但 linux 下正常响应
    tsanie
        5
    tsanie  
       184 天前   ❤️ 1
    以前是 ps 的 alias ,现在是 curl.exe
    yuchenr
        6
    yuchenr  
       184 天前
    很早就内置 curl.exe 了
    kingfalse
        7
    kingfalse  
       184 天前 via Android
    假的,都是假的,用起来贼恶心
    body007
        8
    body007  
       184 天前
    有 bug ,我遇到过自己生成的证书,用 window 的 curl 带上 ca 根证书报错,用 wget 没问题,用 mingw 的 curl 也没问题。因此我把 window 自带的 curl 替换成 mingw 的 curl 了。
    Greendays
        9
    Greendays  
       184 天前
    Powershell 功能强大,但真用不明白。。。
    lyxeno
        10
    lyxeno  
       184 天前
    也不能说是假的 curl,但是使用方式上和 linux 上的那些完全不一样😥根本没法用
    Showfom
        11
    Showfom  
       184 天前
    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  
       184 天前
    @Showfom #10 不过最后一个打包好的 Windows 旧版本还是可以找到

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

    他跟你知道的 curl 不是同一个东西。。
    coolcoffee
        19
    coolcoffee  
       184 天前
    Windows 上的 curl 和 wget 都和 unix 版本的不同。没有 ChatGPT 帮忙的话,真的学不动了。
    roycestevie6761
        20
    roycestevie6761  
       184 天前
    alias
    xdeng
        21
    xdeng  
       184 天前
    之前因为 curl 有漏洞 微软还特地发了个更新呢
    mmdsun
        22
    mmdsun  
       184 天前
    @flyqie
    @kokutou
    @kingfalse


    curl.exe 才是真正的 curl ,curl 是 powershell 的 alias
    body007
        23
    body007  
       184 天前
    @bjzhou1990 既然用 cmd+clink 那为何不直接用 cmder ,一步到位呢。
    assiadamo
        24
    assiadamo  
       184 天前
    甚至还有 ssh scp ,我现在都不用各种 xshell 之类的工具了
    jackmod
        25
    jackmod  
       184 天前
    curl.exe 和 tar.exe 都有。在写 Dockerfile 时是必要工具,下载东西不需要调用 ps 写那些反人类指令。
    jackmod
        26
    jackmod  
       184 天前
    顺便这个自带的 tar.exe 可以解包 zip 。
    xxx027
        27
    xxx027  
       184 天前 via Android
    bjzhou1990
        28
    bjzhou1990  
       184 天前
    @body007 #23 忘记为啥卸载 cmder 了,现在 Windows terminal 够我用了
    shijingshijing
        29
    shijingshijing  
       184 天前
    不追求性能的话,宁愿用 git bash 自带的那个 MinGW 自带的,也不会用 PowerShell 。
    PrinceofInj
        30
    PrinceofInj  
       184 天前
    自从集成了 ssh ,临时在 windows 连 esxi 再也不是问题了。
    cnbatch
        31
    cnbatch  
       184 天前   ❤️ 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  
       184 天前
    @chinaguaiu #16 首先呢,PowerShell 大小写是不敏感的,即使 pwsh on MacOS ,大小写也是不敏感的。其次呢,PowerShell 的命令格式都是 Verb-Noun ( alias 和自定义的除外),其实是极度直观的,根本就不用特意去记。

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

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

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


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