我想知道 libcurl 是否支持多播文件传输。
1 回答
0
curl 是一个使用 URL 语法传输数据的命令行工具,支持 DICT、FILE、FTP、FTPS、Gopher、HTTP、HTTPS、IMAP、IMAPS、LDAP、LDAPS、POP3、POP3S、RTMP、RTSP、SCP、SFTP、SMTP、 SMTPS、Telnet 和 TFTP。curl 支持 SSL 证书、HTTP POST、HTTP PUT、FTP 上传、基于 HTTP 表单的上传、代理、cookie、用户+密码身份验证(Basic、Digest、NTLM、Negotiate、kerberos...)、文件传输恢复、代理隧道和
特征
卷曲工具
- 配置文件支持
- 单个命令行中的多个 URL
- 范围“通配符”支持:[0-13]、{一、二、三}
- 在单个命令行上上传多个文件
- 自定义最大传输率
- 可重定向的标准错误
libcurl 支持
- 完整的 URL 语法,没有长度限制
- 自定义最大下载时间
- 自定义可接受的最低下载速度
- 完成后的自定义输出结果
- 除非指定,否则从主机名猜测协议
- 使用 .netrc
- 下载时的进度条/时间规格
- “标准”代理环境变量支持
- 在 win32 上编译(报告在 40 多个操作系统上构建)
- 用于传出流量的可选网络接口
- 在 unix 和 Windows 上支持 IPv6
- 持久连接
- 袜子5支持
- 支持代理环境变量中的用户名+密码
- 通过代理“隧道”进行操作(使用 CONNECT)
- 支持上传/下载大文件(>2GB 和>4GB)
- 可替换的内存函数(malloc、free、realloc 等)
- 异步名称解析 (*6)
- 推拉式界面
HTTP
- 符合 HTTP/1.1(可选使用 1.0)
- 得到
- 放
- 头
- 邮政
- 流水线
- 多部分表单(RFC1867 风格)
- 身份验证:Basic、Digest、NTLM(*9)、GSS-Negotiate/Negotiate(*3) 和
SPNEGO (*4) 到服务器和代理
- 简历(GET 和 PUT)
- 跟随重定向
- 要遵循的最大重定向数量
- 自定义 HTTP 请求
- cookie 获取/发送完全解析
- 读取/写入 netscape cookie 文件格式
- 自定义标题(替换/删除内部生成的标题)
- 自定义用户代理字符串
- 自定义引用字符串
- 范围
- 代理身份验证
- 时间条件
- 通过 http 代理
- 检索文件修改日期
- 对 deflate 和 gzip 的内容编码支持
- “传输编码:分块”支持“上传”
HTTPS (*1)
- (所有 HTTP 功能)
- 使用客户端证书
- 验证服务器证书
- 通过 http 代理
- 选择所需的加密
- 强制使用特定的 SSL 版本(SSLv2(*7)、SSLv3 或 TLSv1)
FTP
- 下载
- 验证
- kerberos4 (*5), kerberos5 (*3)
- 使用 PORT、EPRT、PASV 或 EPSV 的主动/被动
- 单个文件大小信息(与 HTTP HEAD 相比)
- 'type=' URL 支持
- 目录列表
- 仅列出名称的目录
- 上传
- 上传附加
- 通过 http-proxy 作为 HTTP PUT 上传
- 下载简历
- 上传简历
- 自定义 ftp 命令(传输之前和/或之后)
- 简单的“范围”支持
- 通过 http 代理
- 所有操作都可以通过 http-proxy 进行隧道传输
- 可定制以检索文件修改日期
- 没有目录深度限制
FTPS (*1)
- 在两个连接上都使用 SSL 的隐式 ftps:// 支持
- 明确的“AUTH TSL”和“AUTH SSL”使用来“升级”普通的 ftp://
为两个或一个连接使用 SSL 的连接
SCP (*8)
- 密码和公钥认证
SFTP (*8)
- 密码和公钥认证
- 在传输之前/之后发送自定义命令
TFTP
- 下载上载
远程网络
- 连接协商
- 自定义远程登录选项
- 标准输入/标准输出 I/O
LDAP (*2)
- 完整的 LDAP URL 支持
信息和通信技术
- 扩展 DICT URL 支持
文件
- 网址支持
- “上传”
- 恢复
脚注
=========
*1 = 需要 OpenSSL、GnuTLS、NSS、yassl、axTLS 或 PolarSSL
*2 = 需要 OpenLDAP
*3 = 需要符合 GSSAPI 的库,例如 Heimdal 或类似库。
*4 = 需要 FBopenssl
*5 = 需要 krb4 库,例如 MIT 库或类似库。
*6 = 需要 c-ares
*7 = 需要 OpenSSL 或 NSS,因为 GnuTLS 仅支持 SSLv3 和 TLSv1
*8 = 需要 libssh2
*9 = 需要 OpenSSL、GnuTLS、NSS 或 yassl
于 2012-04-27T16:59:11.910 回答