curl手册

上传人:xzh****18 文档编号:44592884 上传时间:2018-06-14 格式:PDF 页数:26 大小:339.38KB
返回 下载 相关 举报
curl手册_第1页
第1页 / 共26页
curl手册_第2页
第2页 / 共26页
curl手册_第3页
第3页 / 共26页
curl手册_第4页
第4页 / 共26页
curl手册_第5页
第5页 / 共26页
点击查看更多>>
资源描述

《curl手册》由会员分享,可在线阅读,更多相关《curl手册(26页珍藏版)》请在金锄头文库上搜索。

1、cURL.1cURL.1cURL.1cURL.1 手册页手册页名称名称cURL - transfer a URL摘要摘要cURL选项 URL. 描述描述cURL 是一个向服务器或从服务器传输数据的工具,它支持 HTTP 、HTTPS、 FTP 、 FTPS 、 SCP、SFTP、TFTP、DICT、TELNET、LDAP 或 FILE 等协议。 该命令设计为无需用户干预即可执行。 cURL 提供了一大堆诸如代理支持、用户认证、FTP 上传、HTTP POST、SSL 连 接、Cookies、文件续传等等有用的技巧。正如你将在下面看到的,如此多的特 性会让你头晕目眩! cURL 的所有传输相关特

2、性的是由 libcURL 所支持。详情见 libcURL (3)。URLURLURLURL:URL 语法是协议相关的。您可在 RFC 3986找到详细解释。 您可以指定多个 URL 或在大括号内写入 URL 的一部分形成 URL 的集合: http:/site.one,two, 或者您也可以使用 获得连续的字母或数字序列: ftp:/ ftp:/ ( 前 面带有0的) ftp:/ 目前还不支持嵌套的序列,但是您可以在一条 URL 中混合使用多个序列: http:/any.org/archive1996-1999/vol1-4/parta,b,c.html 您可在命令行中指定任意数量的 URL。

3、它们将以指定的顺序被逐一获取。 从 cURL 7.15.1版以来,您也可以指定步长范围,如此您就可以得到所有带第 N 个数字或字母的 URL: http:/ http:/ 如果您指定的 URL 没有协议:/前缀, cURL 会尝试猜测您可能需要的协议。 默认 使用 HTTP 协议,但会基于常用主机名前缀而尝试使用其它协议。例如,对于以 “FTP”开头的主机名称,cURL 将假定使用 FTP 协议 。 cURL 会尝试为多个文件的传输重用连接,从而使从同一台服务器上获取文件不 会做多重连接/握手。这种方法提高了速度。当然,这只对在同一命令行中指定 的文件有效,而且不能用于单独的 cURL 之间的

4、调用。进度指示器进度指示器cURL 在操作时通常会显示一个进度指示器,显示已传输的数据量、传输速度和 估计剩余时间等。 然而,由于 cURL 默认在终端上显示此数据,如果您调用 cURL 去做一个向终端 写入数据的操作, 它将禁用进度指示器,否则它会将进度指示信息与输出的返回 数据混淆在一起。 如果您需要对应 HTTP POST 或 PUT 请求的进度指示器,您得使用 shell 的重定 向操作符()、 -o 文件名或其他类似的操作,将返回的数据重定向到文件中。 这与 FTP 上传操作不同,该操作不会向终端输出任何响应数据。 如果您想用进度“条”代替默认的显示, -#选项会很有帮助。选项选项对

5、于所有的布尔选项(option),使用 -option 来启用,使用 -no-option 来禁用。 也就是说,您使用完全相同的选项名称,但须加上前缀“no-”然而,在此列表中, 我们通常只会列出并显示它们的-option。(-no-option 这个概念是在7.19.0版中 添加的。以前大多数选项的开启/关闭是重复使用相同的命令行选项。) -a/-append (FTP/SFTP)当在上传操作中使用时,此选项将告诉 cURL 将内容附加到目标文 件,而不是覆盖它。如果该文件不存在,将创建一个新文件。请注意,此标志将 被一些 SSH 服务器所忽略(包括 OpenSSH) 。 -A/-user-

6、agent (HTTP)指定用户代理(User-Agent)字符串发送给 HTTP 服务器。如果这里没有设 置为“ Mozilla/4.0 ”,一些设计的不好的 CGI 程序将不能正常工作。如字符串包 含空白字符,则用单引号括出此字符串。此选项也可用-H/-header 来设置。 如果此选项设置超过一次,将使用最近一次的设置。 -anyauth (HTTP) 告知 cURL 自己找出远程站点声明支持的最安全的验证方法并使用之。 由发送一个请求并检查 response-headers 来实现, 从而可能诱发额外的网络流量。 这是用来代替具体验证方法设定, 您可配合-basic、-digest 、

7、 -ntlm、 与-nagotiate 使用。 请注意,如果您从标准输入(stdin)上传,则不推荐使用-anyauth,因为它可能需 要将数据发送两次而且届时客户端必须支持回卷(rewind)。如从标准输入(stdin) 上传时出现此需求,上传操作将失败。 -b/-cookie ( HTTP )将数据作为 cookie 传递给 HTTP 服务器。这些数据可能是前次从服务器 Set-Cookie 行返回的。这些数据应是“NAME1=VALUE1; NAME2=VALUE2”这样 的格式。 如果在行中没有使用=符号,那么它将被视为一个保存了前次 cookie 行的文件 名,如果此文件与前次保存的

8、 cookie 行匹配,则它在此会话中将被读取。使用 这种方法也激活会激活 “cookie 解析器“ , 它将使cURL同时记录传入的cookie, 这样可方便的与-L/-location 选项结合使用。被读取 cookie 的文件格式应为纯文 本的 HTTP headers 或 Netscape/Mozilla 的 cookie 文件格式。请注意,被-b/-cookie 指定的文件只能作为输入使用,没有 cookies 会被存储在 文件中。 为了存储 cookie, 用-c/-cookie-jar 选项或您甚至可以用-D/-dump-header 选项把 HTTP header 保存到文件中

9、! 如果此选项设置超过一次,将使用最近一次的设置。 -B/-use-ascii 当使用 FTP 或 LDAP 时启用 ASCII 传输。使用 FTP 时,也可以使用一个以 “;type=A“结尾的 URL 来强制执行此选项。此选项导致数据以文本模式发送到 Win32系统的标准输出(stdout)。 -basic ( HTTP )告知 cURL 使用 HTTP 基本验证。这是默认选项,并且该选项通常是无 意义的,除非你用它来覆盖先前设置的不同的身份验证方法的选项,(如-ntlm 、 -digest 、或-negotiate) 。 -ciphers (SSL)具体指定在连接中使用哪些加密方式。列表

10、必须是有效的加密方式。在此 网址阅读SSL加密方式列表的细节: http:/www.openssl.org/docs/apps/ciphers.html NSS 加密方式与 openssl 和 GnuTLS 不同。NSS 加密方式的完整列表在此网址: http:/ 的 NSSCipherSuite 条目中。 假如此选项已被使用过多次,则最后一次的设置将取代其它的。 -compressed ( HTTP )使用 libcurl 支持的一种压缩算法请求一个压缩的响应,并返回解压缩的 文档。如果使用此选项并且服务器发送了一个不受支持的压缩方式,cURL 将报 错。 -connect-timeout

11、您连接到服务器所允许花费的最大时间,单位为秒。只限于连接阶段,一旦 crul 已经连接,该选项就不起作用了。又见-m/-max-time 选项。 假如此选项已被使用过多次,则使用最后一次的设置。 -c/-cookie-jar 指定您想要 cURL 完成操作后将所有 cookie 写入哪个文件中。cURL 将写入之前 从指定文件中读取的、 以及从远程服务器获取的所有 cookie。 如果无 cookie 信息, 则不会写入文件。该文件将使用 Netscape 的 cookie 文件格式。如果您设置文件 名为半角单破折号“-“,这些 cookies 信息会被写入标准输出(stdout)。 注意:如

12、果 Cookie jar 无法被建立或写入,整个 cURL 操作不会失败甚至也不会 报错。 使用-v 将得到一个警告显示, 但这将是在可能发生致命错误时您唯一可见 的反馈。 假如此选项已使用过多次,则将使用最后一次指定的文件名。 -C/-continue-at 在指定偏移地址继续/恢复之前的文件传输。给定的偏移地址是一个将被忽略的 确切字节数, 在源文件传输到目的地之前从文件起始处计算。 如果在上传中使用, FTP 服务器的 SIZE 命令将不能用于 cURL。 使用“ -C - ”来告知 cURL 在何处及如何自动恢复传输。然后使用给定的输出/输 入文件来做到这一点。 假如此选项已被使用过多

13、次,则使用最后一次的设置。-create-dirs 配合-o 选项使用时,cURL 将根据需要建立必要的本地目录结构。此选项会建立 在-o 选项中提到的目录,除此以外没有其它用途。如果-o 选项中涉及的文件名 没有使用目录或目录已存在,则不会建立目录。 要使用 FTP 或 SFTP 创建远程目录时,请使用-ftp-create-dirs 选项。 -crlf (FTP)在上传时将 LF 转换为 CRLF。在 MVS 中有用( OS/390 ) 。 -d/-data ( HTTP )将特定数据 POST 到服务器,与在浏览器中用户填写表单并按提交按钮 的效果一样。cURL使用mimetypecon

14、tent-type application/x-www-form-urlencoded 传输数据到服务器。请与-F/-form 比较。 -d/-data 与-data-ascii 相同 。如果要 post 二进制数据,您应该使用-data-binary 选项。如果要 post URL 编码的表单项,您应该采用-data-urlencode 。 在同一个命令行多次使用该参数,数据块将被auto”到-referer URL, 使 curl 自动设置上一个 URL,当它后面跟随 Location: header 时。“;auto“字符串 可以单独使用,即使您没有设置初始的-referer。 假如此选

15、项已被使用过多次,则使用最后一次的设置。 -engine 为加密操作选择 openssl 加密引擎。使用-engine list 打印编译时所支持引擎的清 单。请注意,并非所有(或没有)引擎可用在运行时。 -environment (仅在 RISC 操作系统)设置了一系列的环境变量,使用-w 选项支持的名称,允许 运行 cURL 后更容易的提取有用的信息。 -egd-file (SSL)为 Entropy Gathering Daemon 套接字指定路径名。此套接字用于为 SSL 连 接产生随机种子。又见 -random-file 的选项。 -E/-cert ( SSL )告知 cURL 当通过 HTTPS 或 FTPS 获取文件时使用指定的证书文件。证书必须是 PEM 格式。如果没有指定可选密码,将在终端上提示输入。注意,此 选项假设的“证书”文件, 是私钥和私人证书连结! 见-cert 和-key 单独指定他们。 如果curl使用NSS SSL库编译, 那么此选项告知curl用在由环境变量SSL_DIR(或 默认的/etc/pki/n

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 理论文章

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号