我curl在 Linux 上的命令行中使用来发出 HTTP 请求。响应正文打印为标准输出,这很好,但我从手册页看不到如何让 curl 从响应(404、403 等)打印 HTTP 状态代码。这可能吗?
如何在没有 Internet Explorer 或 Firefox 打开 Acrobat Reader/Quicktime/MS Word/什么的情况下直接从网络下载内容?
我使用的是 Windows,所以 Windows 版本的Wget就可以了。
我一直假设当 curl 收到 HTTP 500 响应时,它会返回一个退出代码,这意味着失败 (!= 0),但事实并非如此。
如果 HTTP 状态代码不是 200,有没有一种方法可以使 cURL 失败,并且退出代码不同于 0?我知道我可以使用,-w "%{http_code}"但这将它放在 STDOUT 中,而不是作为退出代码(此外,我也对捕获输出感兴趣,我不想重定向到文件,而是重定向到屏幕)。
curl在 PowerShell 中是否有等价物?它有一些类似的内置功能,还是有3次聚会cmdlet的?
例如,使用 -v 参数 POST 到 Web 服务器:
curl -v http://testserver.com/post -d "firstname=john&lastname=doe"
Run Code Online (Sandbox Code Playgroud)
和输出
> POST /post HTTP/1.1
> User-Agent: curl/7.19.7 (universal-apple-darwin10.0) libcurl/7.19.7 OpenSSL/0.9.8l zlib/1.2.3
> Host: testserver.com
> Accept: */*
> Content-Length: 28
> Content-Type: application/x-www-form-urlencoded
>
< HTTP/1.1 200 OK
(etc)
Run Code Online (Sandbox Code Playgroud)
没有提到我发布的数据。
cURL 中是否有选项可以在输出中显示字符串“firstname=john&lastname=doe”?
注意:显然我想要的字符串在我执行的命令中,但还有其他几个 post 选项,例如 --form 和 --data-ascii 等。我想看到原始数据被发送到服务器。
因此,在谷歌和超级用户(以及扫描手册页)上搜索了一段时间后,我无法找到(我认为)应该很简单的答案:
如果你去这里:
http://www.vim.org/scripts/script.php?script_id=2340
Run Code Online (Sandbox Code Playgroud)
并尝试下载主题:
http://www.vim.org/scripts/download_script.php?src_id=9750
Run Code Online (Sandbox Code Playgroud)
像这样:
wget http://www.vim.org/scripts/download_script.php?src_id=9750
Run Code Online (Sandbox Code Playgroud)
您最终可能会得到一个名为download_script.php?src_id=9750.
但我希望它被调用molokai.vim,如果我使用浏览器下载这个文件,就会发生这种情况。
我需要为 wget 指定哪些选项以获得所需的效果?
我也可以使用 Curl 等效命令。
我有一个运行在 的 HTTP 服务器/var/run/my-server.sock,我想通过使用 cURL 发送一个简单的请求来测试它。这可以使用 cURL 来完成吗?它可以完成吗,还是必须有一个反向代理?
我在想象这样的事情:
curl socket:/var/run/my-server.sock:/test/path
Run Code Online (Sandbox Code Playgroud) 有没有办法cURL在 Windows 中安装以便cURL从命令提示符运行命令?
我正在尝试stderr从 bash shell仅打印 cURL 请求(发送到)的详细部分。
但是当我stdout像这样重定向时:
curl -v http://somehost/somepage > /dev/null
Run Code Online (Sandbox Code Playgroud)
某种结果表出现在输出的中间stderr:
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
Run Code Online (Sandbox Code Playgroud)
接下来是接近尾声:
{ [data not shown]
118 592 0 592 0 0 15714 0 --:--:-- --:--:-- --:--:-- 25739
Run Code Online (Sandbox Code Playgroud)
这使得响应标头的可读性降低。
不重定向时我看不到此文本。
另一种查看效果的方法:
表没有出现:
curl -v http://somehost/somepage 2>&1
Run Code Online (Sandbox Code Playgroud)
表出现:
curl -v http://somehost/somepage 2>&1 | cat …Run Code Online (Sandbox Code Playgroud)