1. 名字 curl : 调用一个URL。 2. 用法 curl[OPTIONS][URL...] 3. 描述 curl是一个可以和服务器交换数据的工具,支持`DICT`, `FILE`, `FTP`, `FTPS`, `GOPHER`, `HTTP`, `HTTPS`, `IMAP`, `IMAPS`, `LDAP`, `LDAPS`, `POP3`, `POP3S`, `RTMP`, `RTSP`, `SCP`, `SFTP`, `SMB`, `SMBS`, `SMTP`, `SMTPS`, `TELNET` and `TFTP`协议。但是这个命令不支持用户交互。 curl提供了很多(一车)有用的技巧,像代理支持、用户验证、FTP上传、HTTP Post请求、SSL链接、缓存、文件断点续传、Metalinks等。下面你看到的内容将会使你头晕。 curl中所有的数据交换(调用)功能都被`libcurl(3)`增强了,详情可以自行查询。 4. URL URL的语法依赖于协议,在[RFC 3986](https://tools.ietf.org/html/rfc3986)中有详细的介绍。 可以指定多个URL或者用大括号括起来URL中不相同的部分:`http://site.{one,two,three}.com`,你也可以利用中括号使用字母数字系列:`ftp://ftp.site.com/file[1-100].txt` // TODO 还有很多规则,后期补充 5. 选项(OPTIONS) 选项一般是以一个或者两个破折号开始,大多数在后面紧接着跟一个附加的值。 对于单个破折线的选项和后面的附加值之间可以不用空格,但是还是建议添加空格;对于双破折线的选项和后面的附加值之间是必须有空格的。 对于单个破折线且不需要附加值的选项可以放在一起,例如`-O`,`-L`,`-v`可以放在一起:`-OLv`。 5.1 -0\\--http1.0 指定http协议使用1.0版本的 5.2 --http1.1 指定使用http协议1.1版本 5.3 --http2 指定使用http协议2.0版本 5.4 -4\\--ipv4 指定将域名解析为IPv4而不用IPv6 5.5 -6\\--ipv6 指定将域名解析为IPv6而不用IPv4 5.6 -a\\--append 上传文件的时候,如果文件存在则将内容附加到文件后面,如果文件不存在,则创建文件并将内容写如新的文件中。 5.7 -A\\--user-agent <agent string> 在使用http协议的时候,使用指定的用户代理,如果该选项不设置为`Mozilla/4.0`,一些不太好的公共网关接口可能会失败。为了解决空格的问题,通过将包含空格的字符串使用单引号包含起来。该选项也可以在`-H\--Header`中设置。如果有多个该选项,则以最后一个为主。 5.7 -b\\--cookie <name=value> 指定cookie中的key-value,多个使用分号隔开。 ---------------------------------------------------------------------------------------------------------------------- 我们尊重原创,也注重分享,文章来源于微信公众号:CS Toper之路,建议关注公众号查看原文。如若侵权请联系qter@qter.org。 ---------------------------------------------------------------------------------------------------------------------- |