Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
TranslateCNORG
curl-document
提交
b8c14423
curl-document
项目概览
TranslateCNORG
/
curl-document
通知
0
Star
5
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
分析
仓库
DevOps
项目成员
Pages
curl-document
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
b8c14423
编写于
9月 12, 2020
作者:
厉害2333
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
更新
上级
b684c17a
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
80 addition
and
2 deletion
+80
-2
docs/manual.md
docs/manual.md
+80
-2
未找到文件。
docs/manual.md
浏览文件 @
b8c14423
...
...
@@ -50,13 +50,13 @@ curl ftps://files.are.secure.com/secrets.txt
curl
--ftp-ssl
ftp://files.are.secure.com/secrets.txt
```
通过ssh获取sftp服务器上的文件(
`-u`
参数后要写登录sftp服务器的用户名,如果连接服务器成功,会让你输入密码):
通过ssh获取sftp服务器上的文件(
`-u`
参数后要写登录sftp服务器的用户名
(也可以直接在用户名后面加密码但要用
`:`
分割,如 admin@123456789)
,如果连接服务器成功,会让你输入密码):
```
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
...
...
@@ -117,3 +117,81 @@ curl -o baidu.html https://www.baidu.com/
```
bash
curl
-O
https://www.baidu.com/index.html
```
## 给网页传输密码
curl能传输密码,既然能传输密码就能登录网页。
### Ftp
使用用户名密码登录ftp服务器,获取文件:
```
bash
curl ftp://name:passwd@machine.domain:port/full/path/to/file
```
格式
```
bash
curl ftp://<用户名>:<密码>@xxx.com:port/xxx
```
在
`<用户名>:<密码>`
后,有一个
`@`
,你注意到了吗?这种登录方式不仅能在ftp协议网址中用,还能在其他协议中用。
或者使用
`-u`
参数登录,:passwd可以省略,只用有用户名就好了,如果连接上了服务器会让你输入密码:
```
bash
curl
-u
name:passwd ftp://machine.domain:port/full/path/to/file
```
### FTPS
它和ftp相似,如果你看了前面的ftps文件获取实例,你肯定发现了它需要一个
`--ftp-ssl`
参数。
请注意!建议不要不加
`--ftp-ssl`
参数获取文件,或者直接使用ftp(ftp://)协议
### SFTP / SCP
这两个和FTP相似,但是你可以使用
`--key`
参数来指定要使用的私钥的位置,而不是登录的密码密码。请注意,私钥可能受有密码保护,需要输入密码;该密码是使用
`--pass`
参数指定的。通常,curl将自动从私钥文件的目录下提取公钥,但是curl在没有适当的库支持的情况下,必须使用
`--pubkey`
选项指定的公钥文件的位置。
### HTTP
curl还支持HTTP网址的登录操作:
```
bash
curl http://name:passwd@machine.domain/full/path/to/file
```
和ftp一样,还有一种:
```
bash
curl
-u
name:passwd http://machine.domain/full/path/to/file
```
----
HTTP提供了许多不同的身份验证方法,curl支持这些身份验证方法:Basic、Digest、NTLM、Negotiate(SPNEGO)。你可能不知道使用哪种方法,所以curl默认为Basic。您还可以使用
`--anyauth`
参数让curl从服务器可使用身份验证方法中选择最安全的验证方法。
注意!根据URL规范,HTTP网址不能包含用户和密码,当通过网络代理使用curl时,这种方法不会起作用,尽管在其他时候curl允许这样做。使用网络代理时,用户和密码必须使用
`-u`
参数。
### HTTPS
最常用于私有证书。
### Proxy
curl支持HTTP和SOCKS代理服务器,并提供多个的身份验证方法。它没有对FTP代理服务器支持,这个服务器目前没有标准,但是它仍然可以和其它许多服务器一起工作。您还可以使用HTTP和SOCKS代理在FTP服务器之间传输文件。
使用名为my-proxy的HTTP代理获取ftp文件,代理的端口是888(使用
`-x`
参数指定代理服务器):
```
bash
curl
-x
my-proxy:888 ftp://ftp.leachsite.com/README
```
使用代理登录网页:
```
bash
curl
-u
user:passwd
-x
my-proxy:888 http://www.get.this/
```
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录