美文网首页
cURL 基本使用方法介绍

cURL 基本使用方法介绍

作者: rollingstarky | 来源:发表于2018-01-11 17:26 被阅读1214次

    cURL是一个利用URL语法在命令行下工作的文件传输工具,支持文件上传和下载,是综合传输工具。
    源代码可在 Github 上阅读和获取(包括libcurl),这里只简单地介绍下常见的使用方法。

    一、获取文件

    语法:curl -option URL
    不加任何选项时,默认将结果打印到标准输出(STDOUT)

    curl 获取远程HTML文档并打印结果
    -o filename 选项:将获取到的内容以指定文件名(filename)保存至本地
    -O 选项:使用URL中的文件名将其保存至本地
    curl 下载远程文件并保存至本地
    --progress 选项表示仅用『#』和百分比表示下载进度,若下载中断,可以添加-C - 选项断点续传
    curl 断点续传
    --limit-rate 选项对下载文件时的速度进行限制
    curl 下载限速

    二、获取响应头信息

    -i 选项:输出时响应头和文档内容都显示
    -I 选项:只显示响应头信息不显示文档内容

    curl 获取响应头信息

    可以看出,默认情况下 cURL 不会发送 HTTP Location headers(重定向),即遇到需要跳转的网页不自动跳转。curl www.jianshu.com会得到 『301 Moved Permanently』,而不会跳转至 https://www.jianshu.com

    可以通过添加 -L 选项进行重定向。(图中的 -s 选项表示静默模式)

    curl 重定向

    三、自定义User-Agent

    User-Agent 是浏览器的身份标识,远程服务器通过它可以获取客户端使用的操作系统、浏览器版本等信息。(写过爬虫的都知道……)
    -A 选项可以自定义 User-Agent 信息,默认是 curl/版本号

    www.whoishostingthis.com/tools/user-agent/
    访问上图中的网站时会返回浏览者的 User-Agent 信息 curl 修改User-Agent
    --header 选项可以自定义其他请求头信息
    curl --header "Content-Type:application/json" URL

    关于HTTP消息头(包括请求头和响应头)的简介,可参考这篇文章https://itbilu.com/other/relate/EJ3fKUwUx.html

    三、cookie信息

    Cookie 是访问的远程站点存储在客户端计算机上的一段信息,通常储存着用户对某个站点的设置,比如偏好的语言或地理位置,也包括个人身份识别信息。
    --cookie 选项可以附加上 cookie 信息
    -c cookie-file 可以保存服务器返回的 cookie 到文件
    -b cookie-file 可以使用该文件作为 cookie 信息

    curl cookie

    四、HTTP动词

    默认无选项的 curl 命令即使用了 GET(获取) 动词,另外还有 POST(新建),PUT(更新),DELETE(删除)等方法。通过这些动词可以很方便的访问 Restful 架构的 API。
    命令格式为:curl -d data -X method URL

    curl POST
    -d 选项指定要传输的数据,-X 选项指定使用的方法。
    只附加 -d 选项则默认使用 POST 方法,可以通过此命令完成简单的表单验证操作 curl 表单验证

    附录:

    参考文章:Using curl to automate HTTP jobs

    相关文章

      网友评论

          本文标题:cURL 基本使用方法介绍

          本文链接:https://www.haomeiwen.com/subject/ukeznxtx.html