提交 e534e45b 编写于 作者: 厉害2333's avatar 厉害2333

更新下载部分

上级 ebad308d
......@@ -50,14 +50,64 @@ curl ftps://files.are.secure.com/secrets.txt
curl --ftp-ssl ftp://files.are.secure.com/secrets.txt
```
通过ssh获取sftp服务器上的文件:
通过ssh获取sftp服务器上的文件(`-u` 参数后要写登录sftp服务器的用户名,如果连接服务器成功,会让你输入密码):
```bash
curl -u username sftp://example.com/etc/issue # example.com 纯属虚构,只是个事例
```
使用ssh从scp服务器上获取文件(在本地生成密钥,使用--key参数引入密钥在计算机上的位置)
使用ssh从scp服务器上获取文件(在本地生成密钥,使用--key参数引入密钥在计算机上的位置。简要概括就是密钥免去了密码验证,如果密钥有密码请看下一个,这个也是需要看的)
```bash
curl -u username: --key ~/.ssh/id_rsa scp://example.com/~/file.txt
```
通过ssh从scp服务器上获取文件(--pass参数后面是密钥的密码)
```bash
curl -u username: --key ~/.ssh/id_rsa --pass private_key_password scp://example.com/~/file.txt
```
通过IPv6的ip获取服务器主页,和IPv4的ip获取服务器主页的区别是IPv6的ip被包裹在\[\]里:
```bash
# IPv6
curl http://[2001:1890:1112:1::20]/
# IPv4
curl http://223.5.5.5/
```
获取smb服务器的文件。`-u` 参数后的 `domain` 是域名,`username` 是登录服务器的用户名,`passwd` 是登录服务器的密码:
```bash
curl -u "domain\username:passwd" smb://server.example.com/share/file.txt
```
上面所有都是curl的最单的操作————获取网页/文件
## 下载文件
### 原理
curl先获取一个网页/文件,然后存储在本地一个文件,就做到了下载。
curl还有下载的功能,它能完全代替 `wget`。curl能下载任何类型的数据(如mp3,mp4,m4a,aac,html,css,js,cpp...)
获取网页然后存储为特定文件名,-o参数必须要特定文件名:
```bash
curl -o baidu.html https://www.baidu.com/
```
![下载时出现的界面](https://s1.ax1x.com/2020/09/11/wUkNWT.png)
下载时会出现上面的界面,表示curl正在获取网页,最后会保存为 `baidu.com` 文件。
我们先分割上面命令的参数(-o算第一个参数,以此类推):
|参数位置|值|解释|
|:-:|:-:|:-:|
|1|-o|下载一个网页/文件并要指定下载后保存的名字(有更简便的参数,在下面)|
|2|baidu.html|可自定义,网页/文件下载后保存的名字|
|3|https://www.baidu.com/|要下载的网页/文件|
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册