从 Windows 控制台运行 cURL 命令

Posted

技术标签:

【中文标题】从 Windows 控制台运行 cURL 命令【英文标题】:Run cURL commands from Windows console 【发布时间】:2011-02-12 05:40:23 【问题描述】:

有没有办法在 Windows 中安装 cURL 以便从命令提示符运行 cURL 命令?

【问题讨论】:

然后总是有vbscript / powershell ***.com/questions/204759/http-get-in-vbs 我的 curl 安装在 xampp 中并启用,我可以让它在 windows cmd 中工作吗? 我注意到超级用户在这里发布了同样的问题:superuser.com/questions/134685/… 从 2018 年 5 月开始,使用 Windows 10 build 1803,您可以直接从 Windows 控制台运行 curl:***.com/a/50200838/6309 实际上 curl 被包括在内,因为内部人员build 17063 onwards 【参考方案1】:

如果您不喜欢 Cygwin,您可以使用本机 Windows 版本。有些在这里:curl Download Wizard。

【讨论】:

还有msys2,我还没有看到。例如,如果您在某个时候安装了 Haskell,您可能已经拥有它。 您可以安装 Git 并使用 git bash。安装后内置。 (见下面的答案)。 这已经过时了,见答案***.com/a/61384072/4385330。在较新的 Windows 版本中,curl 命令在 PowerShell 中可用【参考方案2】:

首先您需要下载 cURL 可执行文件。对于 Windows 64 位,请从 here 下载,对于 Windows 32 位,请从 here 下载 之后,将curl.exe 文件保存在您的C: 驱动器上。

要使用它,只需打开command prompt 并输入:

C:\curl http://someurl.com

【讨论】:

哎呀,这有帮助。很容易。感谢发帖。 如果你要在 Windows 中使用 " 而不是 ' 真的很重要:) @Ricardo Sanchez,我们可以通过每秒请求调用的数量吗?我的要求是我需要在 Windows 操作系统中每秒点击 URL 5 次。【参考方案3】:

如果您在 Windows 上安装了 Git,则可以使用 GNU Bash.... 它是内置的。

https://superuser.com/questions/134685/run-curl-commands-from-windows-console/#483964

【讨论】:

这意味着您可以像在 OSX 或 Linux 中一样运行它,而无需使用特殊命令 btw。只需启动 Git Bash 和 cURL 即可:) 这个答案需要更多的支持。这是适合使用 mac 终端或 unix 发行版的用户的方式。 谢谢 :) 因为我主要使用 Git(不管我使用的是什么操作系统)我需要安装 Git Bash。我不喜欢安装向导或额外的臃肿。我也不喜欢尝试使用 PowerShell 在 Windows 中执行所有操作【参考方案4】:

实际上并不需要 curl 可执行文件的人,而是只需要例如不时查看或保存 GET 请求的结果,可以直接使用powershell。在正常的命令提示符下,键入:

powershell -Command "(new-object net.webclient).DownloadString('http://example.com')"

虽然有点罗嗦,但类似于打字

curl http://example.com/

在更类似于 Unix 的环境中。

有关net.webclient 的更多信息,请访问:WebClient Methods (System.Net)。

更新:我喜欢 ImranHafeez 如何在this answer 中更进一步。不过,我更喜欢更简单的 cmd 脚本,可能会创建一个包含以下内容的 curl.cmd 文件:

@powershell -Command "(new-object net.webclient).DownloadString('%1')"

可以像上面的 Unix-ish 示例一样调用它:

curl http://example.com/

【讨论】:

凭证可以从***.com/a/509394/4985705 获得powershell -Command "$wc=new-object net.webclient;$wc.Credentials=new-object System.Net.NetworkCredential(%user%,%pass%);$wc.DownloadString('%input%')" 警告:这不会将 GET 参数传递给页面。我将它与 php 页面一起使用。 curl https://www.example.com/mypage.php?action=hello。在 mypage.php 脚本中,$_GET['action'] 为空【参考方案5】:

如果您使用 Chocolatey 包管理器,则可以通过从命令行或 PowerShell 运行此命令来 install cURL:

choco install curl

【讨论】:

【参考方案6】:

在 windows 中创建批处理文件并在 windows 中使用 cURL :)

@echo off
echo You are about to use windows cURL, Enter your url after curl command below:
set /p input="curl "
cls
echo %input%
powershell -Command "(new-object net.webclient).DownloadString('%input%')"
pause

【讨论】:

【参考方案7】:
    访问下载页面https://curl.haxx.se/download.html - 太棒了 在列表中选择您的系统 不要忘记 SSL 支持,现在很明显,例如对于 https 将curl.exe.crt 解包到C:\Windows\System32 重启cmd 享受> curl https://api.stackexchange.com

附言如果您想要另一个文件夹来存储可执行文件,请检查您的路径 > echo %PATH%

【讨论】:

【参考方案8】:

如果您从以下位置下载它应该可以正常工作 --http://curl.haxx.se/dlwiz/?type=bin&os=Win64&flav=MinGW64 -- FOR 64BIT Win7/XP OR from http://curl.haxx.se/dlwiz/?type=bin&os=Win32&flav=-&ver=2000%2FXP --- FOR 32BIT Win7/XP 只需将文件解压到 c:/Windows 并从 cmd 运行

C:\Users\WaQas>curl -v google.com
* About to connect() to google.com port 80 (#0)
*   Trying 173.194.35.105...
* connected
* Connected to google.com (173.194.35.105) port 80 (#0)
> GET / HTTP/1.1
> User-Agent: curl/7.28.1
> Host: google.com
> Accept: */*
>
* HTTP 1.0, assume close after body
< HTTP/1.0 301 Moved Permanently
< Location: http://www.google.com/
< Content-Type: text/html; charset=UTF-8
< Date: Tue, 05 Feb 2013 00:50:57 GMT
< Expires: Thu, 07 Mar 2013 00:50:57 GMT
< Cache-Control: public, max-age=2592000
< Server: gws
< Content-Length: 219
< X-XSS-Protection: 1; mode=block
< X-Frame-Options: SAMEORIGIN
< X-Cache: MISS from LHR-CacheMARA3
< X-Cache-Lookup: HIT from LHR-CacheMARA3:64003
< Connection: close
<
<HTML><HEAD><meta http-equiv="content-type" content="text/html;charset=utf-8">
<TITLE>301 Moved</TITLE></HEAD><BODY>
<H1>301 Moved</H1>
The document has moved
<A HREF="http://www.google.com/">here</A>.
</BODY></HTML>
* Closing connection #0

【讨论】:

【参考方案9】:

为 Windows 安装 Git 然后使用 git bash 运行 curl 命令。

【讨论】:

这是这个答案的副本:***.com/questions/2710748/… 那么如何直接从cmd/powershell调用git-bash-curl呢?【参考方案10】:

自 2018 年初以来,Windows 10 Insider build 17063 curl 可在 cmd 和 powershell 中使用。

【讨论】:

【参考方案11】:

目前在 Windows 10 build 17063 及更高版本中,cURL 默认随 Windows 提供。那你就不用下载了,直接用curl.exe就行了。

【讨论】:

【参考方案12】:

我还发现,如果我将 cygwin bin 放在我的 windows 路径上,我可以从 windows 命令行运行 curl。它还可以让你访问诸如 ls 和 grep 之类的东西

【讨论】:

如果适当的二进制文件位于 Cygwin/bin 目录中,您可以做的还不止这些!您甚至可以调用 gcc 的编译器选项、make、zip、lynx 等。尽管有一些限制,您可能希望运行 windows cmd 被提升为管理员权限,然后在命令提示符下导航到 Cygwin 或 Cygwin64 目录,然后调用Cygwin 批处理文件。但是,请确保在系统的环境变量属性中,将路径设置为 Cygwin64/bin/。现在您可以使用 Unix 二进制文件在 cmd 中运行。【参考方案13】:

我可以使用这个site 在我的 Windows 机器上轻松下载和安装 curl。整个过程用了 30 秒。我使用的是 Windows 7(带管理员权限),所以我从 http://curl.haxx.se/download.html 下载了 curl-7.37.0-win64.msi。

另外,安装 curl 后不要忘记重新启动控制台/终端,否则您将收到相同的错误消息。

【讨论】:

【参考方案14】:

假设您是游戏新手或由于安全限制无法安装软件,您可以使用 Scoop 安装 curl。从 powershell 或命令窗口运行以下命令。请注意,这假设您拥有 Powershell v3.0+。

这里的另一个很酷的优势是,它只为当前用户安装软件。

    设置执行异常

    Set-ExecutionPolicy -ExecutionPolicy Undefined -Scope CurrentUser
    

    安装独家新闻

    iex (new-object net.webclient).downloadstring('https://get.scoop.sh')
    

    安装 curl。您可能会看到有关缺少哈希的警告,但您应该会看到 cURL 已成功安装的最终消息

    scoop install curl
    

    测试 curl 的安装

    curl -L https://get.scoop.sh
    

【讨论】:

这就是我一直在寻找的答案! iex (new-object net.webclient).downloadstring('https://a.url.here') 下载并运行 PS 脚本正是我所需要的。【参考方案15】:

从 Windows 命令提示符,通过 Git Bash 运行 curl

"C:\\Users\\sizu\\AppData\\Local\\Programs\\Git\\bin\\sh.exe" --login -i -c "curl https://www.google.com"

【讨论】:

【参考方案16】:

从here 安装 git 命令行。当你在 windows 中安装 git 时,你会自动得到 curl。您可以像这样使用curl --version 检查安装的 curl 版本。

这是一个示例 curl 请求,它在 JSON 对象中发送一个字符串并对其进行编码。

curl https://api.base62.io/encode \ --request POST \ --header "Content-Type: application/json" \ --data ' "data": "Hello world!" '

【讨论】:

那么如何直接从cmd/powershell调用git-bash-curl呢?【参考方案17】:
    转到curl Download Wizard 选择 curl 可执行文件 选择 Win32 或 Win64 然后根据您的要求为其选择包(例如通用/cygwin) 然后您必须选择版本。您可以选择未指定。 这将直接带您到下载链接,点击后会弹出下载 zip 文件的窗口。 解压 zip 以获取可执行文件。在你的环境变量中添加这个文件夹,你就完成了。然后就可以从 cmd 执行 curl 命令了。

【讨论】:

【参考方案18】:

从https://cygwin.com/install.html 下载 .exe 文件,用于 cygwin(提供类似于 Windows 上的 Linux 发行版功能的大量 GNU 和开源工具)。

运行 .exe 文件。

在安装时,您将进入一个选择包的步骤。在选择包窗口 --> 将视图更改为“未安装”并搜索 curl。单击软件包的“新”列单击要安装的必要软件包->您可以看到版本号,然后单击下一步。 (见下图)

安装完成后点击 cygwin 打开 windows 上的 curl 控制台并使用 curl 命令。

【讨论】:

如果有一个 multiple 用更简单的方法回答,你为什么需要它? @NicoHaase 仅仅因为答案不同并不一定是错误的。 SO 应该是关于答案的,而不仅仅是人们认为只有最好的答案......有时它不是。我使用了它并给了它一个 +1,因为它是当前的安装方式。 @NicoHaase 如果您位于三角形的 A 点并且 B 和 C 点与 A 点的距离相同。您指示某人先随机前往 B 点或 C 点,然后再返回到 A 点,但不是从您之前经过的同一条路径。哪个答案是正确的:ABCA 还是 ACBA?如您所见,有效答案不止一个,并且在所选择的课程或路径中都具有相同的价值!【参考方案19】:

对此我可能有点晚了,但我能够解决我在 Windows 10 的 cmd 时出现的 curl 问题。

我从下面的视频教程https://www.youtube.com/watch?v=qlTVMuONazs得到帮助

这里有一些解释

第一步:去https://curl.haxx.se/download.html

第 2 步:搜索“Win64 - Generic”并下载“Darren Owen”的“Win64 x86_64 7zip”

第三步:解压下载文件并安装证书“ca-bundle.crt”不要碰curl.exe

第 4 步:在 windows 中转到“控制面板”->“系统”->“高级系统设置” " 第五步:点击环境变量

第 6 步:在系统变量中单击“路径”并粘贴文件夹的路径,在我的情况下为“C:\curl\curl_7_53_1_openssl_nghttp2_x64”

你就完成了。

别忘了重启一次系统

【讨论】:

【参考方案20】:

最简单的答案:

(1) 在此处下载 curl 二进制文件:https://curl.haxx.se/download.html(请参阅适用于您的操作系统的二进制文件)。示例:

(2) 创建一个文件夹“C:\curl”然后解压到那里

(3) 编辑名为“Path”的系统变量,在末尾添加";C:\curl\bin"。完成了。

Obs.:我见过一些人告诉我要添加“;C:\curl”,但是这样就无法访问 curl.exe

【讨论】:

【参考方案21】:

对于任何寻求快速解决方案的人,在标准安装 cygwin 后发现 curl 在 win 10 x64 平台上不起作用:

下载this已退役的存储库,解压并运行:

git-cmd.bat

工作就像一个魅力。我认为它具有 curl 的预安装选项。

【讨论】:

【参考方案22】:

我使用了MobaXterm,它可以正常运行curl 命令。

【讨论】:

以上是关于从 Windows 控制台运行 cURL 命令的主要内容,如果未能解决你的问题,请参考以下文章

lamp架构-访问控制-禁止php解析屏蔽curl命令访问

在 Windows 中转义 curl 命令

windows curl工具怎么用

使用 PHP Curl 控制电子钱包 [重复]

如何远程控制windows执行一个持续运行的进程

Firebase 通过 curl 命令发送推送通知有效,但不是来自 firebase 控制台