是否有Windows Vista原生的Wget或 cURL 类型的命令行实用程序?它是如何工作的?
我正在尝试使用 CURL 下载完整的网站目录。以下命令不起作用:
curl -LO http://example.com/
Run Code Online (Sandbox Code Playgroud)
它返回一个错误:curl: Remote file name has no length!。
但是当我这样做时:curl -LO http://example.com/someFile.type它起作用了。知道如何下载指定目录中的所有文件吗?谢谢。
我找到了很多关于如何在 cURL 中使用简单 POST 命令的示例,但我没有找到关于如何发送完整的 HTTP POST 命令的示例,其中包含:
s=1&r=33)我发现的是:
echo "this is body" | curl -d "ss=ss&qq=11" http://localhost/
Run Code Online (Sandbox Code Playgroud)
这不起作用,它将 HTTP 参数作为正文发送。
有没有办法指定 curl 使用特定的 TLS 版本?像 1.1 还是 1.2?我在命令帮助中只能看到 sslv3 和 tlsv1 选项。我拿了最新的 src 并用 openssl 1.0.1e 编译它。仍然没有在帮助中看到直接选项。有没有其他方法可以设置?
我尝试了几种方法,但它们似乎使 curl 令人困惑。
root@testt:~# curl localhost:8080
<h1>Hello world!</h1>
<p>Boom Bam Splat</p>
root@testt:~# curl ::1:8080
curl: (3) IPv6 numerical address used in URL without brackets
root@testt:~# curl [::1]:8080
curl: (3) [globbing] bad range specification in column 2
Run Code Online (Sandbox Code Playgroud) 要检查 google.com 的证书是否已被吊销,我尝试了以下命令:
curl https://www.google.com --cacert GeoTrust_Global_CA.pem --crlfile gtglobal.pem -v
Run Code Online (Sandbox Code Playgroud)
,但我遇到了可怕的“SSL 证书问题”错误:
* About to connect() to www.google.com port 443 (#0)
* Trying 81.24.29.91... connected
* successfully set certificate verify locations:
* CAfile: GeoTrust_Global_CA.pem
CApath: /etc/ssl/certs
* successfully load CRL file:
* CRLfile: gtglobal.pem
* SSLv3, TLS handshake, Client hello (1):
* SSLv3, TLS handshake, Server hello (2):
* SSLv3, TLS handshake, CERT (11):
* SSLv3, TLS alert, Server hello (2):
* SSL certificate problem, verify that the CA cert …Run Code Online (Sandbox Code Playgroud) 当我尝试在 Windows 上使用 Curl 来检索httpsurl 时,我收到了可怕的“连接错误 (60)”。

确切的错误消息是:
curl: (60) SSL 证书问题,验证 CA 证书是否正常。详细信息:
错误:14090086:SSL 例程:SSL3_GET_SERVER_CERTIFICATE:证书验证失败
更多详细信息:http ://curl.haxx.se/docs/sslcerts.html
如何解决这个问题?
我想要做一个位于 的本地文件HTTP POST的内容(作为一个字符串)path/to/my-file.txt到http://example.com/.
例如,我可能想要执行以下操作:
my-file.txt为字符串。foo。然后做这样的事情:
curl -d "data=foo" http://example.com/
Run Code Online (Sandbox Code Playgroud)
(我实际上并不需要这个foo变量。这只是描述我的问题的一种方便的方式。)
执行此操作需要哪些命令?我需要写一个shell脚本吗?如果是这样,它看起来如何?
我刚刚从小牛队升级到优胜美地,现在curl看不到环回主机名。
设置一个简单的 http 服务器来测试:
$ python -m SimpleHTTPServer
Serving HTTP on 0.0.0.0 port 8000 ...
Run Code Online (Sandbox Code Playgroud)
现在我可以在 chrome 中点击 localhost:8000。我什至可以得到它。但是在 curl 中,会发生这种情况:
$ curl localhost:8000
curl: (7) Failed to connect to localhost port 8000: Connection refused
Run Code Online (Sandbox Code Playgroud)
但是,这有效:
$ curl 127.0.0.1:8000
Run Code Online (Sandbox Code Playgroud)
我阅读了有关 wget proxy settings 的答案,但没有帮助,因为它有效:
$ wget --proxy=off localhost:8000
Run Code Online (Sandbox Code Playgroud)
这真的很令人沮丧,因为我的/etc/hosts文件中列出了几个不同的环回主机名,因此我可以在本地开发应用程序,而且我习惯于使用 curl 调试它们。
我已经尝试过 osx 附带的 curl 版本:
$ curl --version
curl 7.37.1 (x86_64-apple-darwin14.0) libcurl/7.37.1 SecureTransport zlib/1.2.5
Protocols: dict file ftp ftps gopher http https imap …Run Code Online (Sandbox Code Playgroud) 是否curl -u username:password http://example.com安全?
如果没有,您能否简要说明有人如何获得您的密码?
curl ×10
localhost ×2
windows ×2
bash ×1
certificate ×1
hosts-file ×1
ipv6 ×1
linux ×1
loopback ×1
osx-yosemite ×1
security ×1
shell ×1
shell-script ×1
tls ×1
wget ×1