标签: curl

curl 是否有像 wget 这样的 --no-check-certificate 选项?

我正在尝试向运行带有自签名 SSL 证书的开发站点的本地开发服务器之一发出 curl 请求。我正在从命令行使用 curl。

我看到一些博客文章提到您可以添加到证书列表或指定一个特定的(自签名)证书为有效,但是是否有一种“不验证”ssl 证书的通用方式 - 就像--no-check-certificate那个wget有吗?

wget curl

573
推荐指数
4
解决办法
82万
查看次数

curl 和 wget 有什么区别?

我渴望知道的区别curlwget。两者都用于获取文件和文档,但它们之间的主要区别是什么。

为什么有两个不同的程序?

download utilities wget curl

389
推荐指数
4
解决办法
24万
查看次数

curl 有超时吗?

到目前为止,我真的找不到任何东西,但是真的curl没有真正超时吗?

 user@host:~# curl http://localhost/testdir/image.jpg
Run Code Online (Sandbox Code Playgroud)

我之所以这么问是因为我testdir将对图像的任何请求重定向到一个单独的 Apache 模块,该模块会动态生成这些图片。图片可能需要长达 15 分钟才能真正准备好并交付给提出请求的客户。

curl一直等待(或者它取决于配置)还是有任何超时?

timeout curl

333
推荐指数
3
解决办法
56万
查看次数

隐藏卷曲输出

我正在发出一个 curl 请求,它在控制台中显示一个 html 输出,如下所示

<b>Warning</b>:  Cannot modify header information - headers already sent by (output started at /home/domain/public_html/wp-content/themes/explicit/functions/ajax.php:87) in <b>/home/domain/public_html/wp-content/themes/explicit/functions/ajax.php</b> on line <b>149</b><br />......
Run Code Online (Sandbox Code Playgroud)

等等

我需要在运行 CURL 请求时隐藏这些输出,尝试像这样运行 CURL

curl -s 'http://example.com'
Run Code Online (Sandbox Code Playgroud)

但它仍然显示输出,如何隐藏输出?

谢谢

curl

304
推荐指数
2
解决办法
45万
查看次数

有什么方法可以在 curl 命令中对 url 进行编码?

我有一些 url,它的查询参数中有空格。我想在 curl 中使用它,例如

curl -G "http://localhost:30001/data?zip=47401&utc_begin=2013-8-1 00:00:00&utc_end=2013-8-2 00:00:00&country_code=USA"
Run Code Online (Sandbox Code Playgroud)

这给出了

Malformed Request-Line
Run Code Online (Sandbox Code Playgroud)

根据我的理解,o/p 是由于查询参数中存在空间。

在将 url 提供给 curl 命令之前,是否可以自动对 url 进行编码?

url curl

133
推荐指数
2
解决办法
20万
查看次数

下载时限制 wget 或 curl 的下载速度

是否可以节流(限制)wget或的下载速度curl

下载时是否可以更改节流值?

networking download wget curl

128
推荐指数
3
解决办法
9万
查看次数

如何grep cURL的输出?

我需要检索 SSL 证书的到期日期。该curl应用程序确实提供了以下信息:

$ curl -v https://google.com/
* Hostname was NOT found in DNS cache
*   Trying 212.179.180.121...
* Connected to google.com (212.179.180.121) port 443 (#0)
* successfully set certificate verify locations:
*   CAfile: none
  CApath: /etc/ssl/certs
* SSLv3, TLS handshake, Client hello (1):
* SSLv3, TLS handshake, Server hello (2):
* SSLv3, TLS handshake, CERT (11):
* SSLv3, TLS handshake, Server key exchange (12):
* SSLv3, TLS handshake, Server finished (14):
* SSLv3, TLS handshake, Client key …
Run Code Online (Sandbox Code Playgroud)

command-line bash curl

92
推荐指数
2
解决办法
20万
查看次数

在 no_proxy 环境变量中设置网络范围

我在使用代理的网络中。我的机器在这里和那里使用大量脚本通过 HTTP 相互访问。

以上均无效!

我正在测试,wget它总是尝试查询代理,无论我想连接到什么 IP 地址。

  • 由于在所有系统中随处可见大量脚本,因此该--no-proxy选项实际上不是一个选项。我想在系统范围内设置它。

bash http-proxy wget curl

74
推荐指数
4
解决办法
27万
查看次数

为什么 curl 和 wget 会导致 403 被禁止?

我尝试使用wget和下载文件,curl但因 403 错误(禁止)而被拒绝。

我可以在同一台机器上使用网络浏览器查看文件。

我再次尝试使用通过http://www.whatsmyuseragent.com获得的浏览器的用户代理。我这样做:

wget -U 'Mozilla/5.0 (X11; Linux x86_64; rv:30.0) Gecko/20100101 Firefox/30.0' http://...
Run Code Online (Sandbox Code Playgroud)

curl -A 'Mozilla/5.0 (X11; Linux x86_64; rv:30.0) Gecko/20100101 Firefox/30.0' http://...
Run Code Online (Sandbox Code Playgroud)

但它仍然被禁止。403 可能还有什么其他原因,我可以通过什么方式更改wgetcurl命令来克服它们?

(这不是关于能够获取文件 - 我知道我可以从浏览器中保存它;这是关于理解为什么命令行工具的工作方式不同)

更新

感谢所有对这个问题的出色回答。我遇到的具体问题是服务器正在检查引用者。通过将其添加到命令行,我可以使用curl和获取文件wget

检查引用者的服务器通过 302 跳转到另一个根本不执行检查的位置,因此该站点的curlwget工作正常。

如果有人感兴趣,这是因为我正在阅读页面以了解嵌入式 CSS,并试图以该站点的 css 为例。我遇到麻烦的实际 URL 是这个curl我最终得到的是

curl -L -H 'Referer: http://css-tricks.com/forums/topic/font-face-in-base64-is-cross-browser-compatible/' http://cloud.typography.com/610186/691184/css/fonts.css
Run Code Online (Sandbox Code Playgroud)

和 wget 是

 wget --referer='http://css-tricks.com/forums/topic/font-face-in-base64-is-cross-browser-compatible/' http://cloud.typography.com/610186/691184/css/fonts.css
Run Code Online (Sandbox Code Playgroud)

很有意思。

wget curl

72
推荐指数
4
解决办法
21万
查看次数

curl 如何防止密码出现在 ps 输出中?

前段时间我注意到curl作为命令行参数提供的用户名和密码没有出现在ps输出中(尽管它们当然可能出现在您的 bash 历史记录中)。

它们同样不会出现在/proc/PID/cmdline.

(不过,可以推导出组合的用户名/密码参数的长度。)

演示如下:

[root@localhost ~]# nc -l 80 &
[1] 3342
[root@localhost ~]# curl -u iamsam:samiam localhost &
[2] 3343
[root@localhost ~]# GET / HTTP/1.1
Authorization: Basic aWFtc2FtOnNhbWlhbQ==
User-Agent: curl/7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 NSS/3.15.3 zlib/1.2.3 libidn/1.18 libssh2/1.4.2
Host: localhost
Accept: */*



[1]+  Stopped                 nc -l 80
[root@localhost ~]# jobs
[1]+  Stopped                 nc -l 80
[2]-  Running                 curl -u iamsam:samiam localhost &
[root@localhost ~]# ps -ef | grep curl
root      3343  3258  0 …
Run Code Online (Sandbox Code Playgroud)

security password ps curl arguments

72
推荐指数
2
解决办法
6812
查看次数