zoukankan      html  css  js  c++  java
  • curl 命令行用法摘记

    先看一个示例:

    命令:curl -Ls -w %{url_effective} http://baidu.com

    输出:

    <html>
    <meta http-equiv="refresh" content="0;url=http://www.baidu.com/">
    </html>
    http://baidu.com/

    解释:

    • curl — 命令关键字
    • -s — 静默模式,不会输出无关中间过程信息
    • -L — 自动重定向,即302自动跟踪
    • [URL] — 目标网址
    • -o [filepath] — 将结果输出到文件
    • -w ‘%{url_effective}’ — 输出目标网址

     

    常用命令列举

    1.抓取页面内容保存到指定文件中

    curl -o test.txt  URL

    2.只打印响应头部信息

    curl -I URL

    3.用户认证

    curl -u user:pwd URL

    4.GET请求

    curl -XGET URL?param=test

    5.POST请求

    curl -XPOST  -d '{"param"1:"test1","param2":"test2"}' URL

    6.通用头部信息传递

    curl -H  "param1:test1" -H "param2:test2" URL

    7.上传文件

    curl --form "fileupload=@filename.txt" http://hostname/resource

    8.对Curl使用网络限速

    curl --limit-rate 1000B -O URL

    Options

    • Curl 所支持的选项(精简,options)

      (H) 表示仅适用 HTTP/HTTPS ,(F) 表示仅适用于 FTP

        --anyauth       选择 "any" 认证方法 (H)
    -a, --append 添加要上传的文件 (F/SFTP)
    --basic 使用HTTP基础认证(Basic Authentication)(H)
    --cacert FILE CA 证书,用于每次请求认证 (SSL)
    --capath DIR CA 证书目录 (SSL)
    --compressed 请求压缩 (使用 deflate 或 gzip)
    -K, --config FILE 指定配置文件
    --connect-timeout SECONDS 连接超时设置
    -C, --continue-at OFFSET 断点续转
    -d, --data DATA HTTP POST 数据 (H)
    --data-ascii DATA ASCII 编码 HTTP POST 数据 (H)
    --data-binary DATA binary 编码 HTTP POST 数据 (H)
    --data-urlencode DATA url 编码 HTTP POST 数据 (H)
    --digest 使用数字身份验证 (H)
    -D, --dump-header FILE 将头信息写入指定的文件
    --egd-file FILE 为随机数据设置EGD socket路径(SSL)
    -F, --form CONTENT 模拟 HTTP 表单数据提交(multipart POST) (H)
    --form-string STRING 模拟 HTTP 表单数据提交 (H)
    -G, --get 使用 HTTP GET 方法发送 -d 数据 (H)
    -H, --header LINE 要发送到服务端的自定义请求头 (H)
    -I, --head 仅显示响应文档头
    -h, --help 显示帮助
    -0, --http1.0 使用 HTTP 1.0 (H)
    -i, --include 在输出中包含协议头 (H/F)
    -k, --insecure 允许连接到 SSL 站点,而不使用证书 (H)
    --interface INTERFACE 指定网络接口/地址
    -4, --ipv4 将域名解析为 IPv4 地址
    -6, --ipv6 将域名解析为 IPv6 地址
    --keepalive-time SECONDS keepalive 包间隔
    --limit-rate RATE 限制传输速度
    -l, --list-only 只列出FTP目录的名称 (F)
    --local-port RANGE 强制使用的本地端口号
    -L, --location 跟踪重定向 (H)
    -m, --max-time SECONDS 允许的最多传输时间
    -o, --output FILE 将输出写入文件,而非 stdout
    --pass PASS 传递给私钥的短语 (SSL/SSH)
    --post301 在 301 重定向后不要切换为 GET 请求 (H)
    --post302 在 302 重定向后不要切换为 GET 请求 (H)
    --post303 在 303 重定向后不要切换为 GET 请求 (H)
    -#, --progress-bar 以进度条显示传输进度
    --proto PROTOCOLS 启用/禁用 指定的协议
    --proto-redir PROTOCOLS 在重定向上 启用/禁用 指定的协议
    -Q, --quote CMD 在传输开始前向服务器发送命令 (F/SFTP)
    --random-file FILE 读取随机数据的文件 (SSL)
    -r, --range RANGE 仅检索范围内的字节
    --raw 使用原始HTTP传输,而不使用编码 (H)
    -e, --referer Referer URL (H)
    -J, --remote-header-name 从远程文件读取头信息 (H)
    -O, --remote-name 将输出写入远程文件
    --remote-name-all 使用所有URL的远程文件名
    -R, --remote-time 将远程文件的时间设置在本地输出上
    -X, --request COMMAND 使用指定的请求命令
    --resolve HOST:PORT:ADDRESS 将 HOST:PORT 强制解析到 ADDRESS
    --retry NUM 出现问题时的重试次数
    --retry-delay SECONDS 重试时的延时时长
    --retry-max-time SECONDS 仅在指定时间段内重试
    -S, --show-error 显示错误. 在选项 -s 中,当 curl 出现错误时将显示
    -s, --silent Silent模式。不输出任务内容
    -Y, --speed-limit RATE 在指定限速时间之后停止传输
    -y, --speed-time SECONDS 指定时间之后触发限速. 默认 30
    --ssl 尝试 SSL/TLS (FTP, IMAP, POP3, SMTP)
    --ssl-reqd 需要 SSL/TLS (FTP, IMAP, POP3, SMTP)
    -2, --sslv2 使用 SSLv2 (SSL)
    -3, --sslv3 使用 SSLv3 (SSL)
    --ssl-allow-beast 允许的安全漏洞,提高互操作性(SSL)
    --stderr FILE 重定向 stderr 的文件位置. - means stdout
    --tcp-nodelay 使用 TCP_NODELAY 选项
    -t, --telnet-option OPT=VAL 设置 telnet 选项
    --tftp-blksize VALUE 设备 TFTP BLKSIZE 选项 (必须 >512)
    -T, --upload-file FILE 将文件传输(上传)到指定位置
    --url URL 指定所使用的 URL
    -B, --use-ascii 使用 ASCII/text 传输
    -u, --user USER[:PASSWORD] 指定服务器认证用户名、密码
    --tlsuser USER TLS 用户名
    --tlspassword STRING TLS 密码
    --tlsauthtype STRING TLS 认证类型 (默认 SRP)
    --unix-socket FILE 通过这个 UNIX socket 域连接
    -V, --version 显示版本号并退出
    -w, --write-out FORMAT 完成后输出什么
    桂棹兮兰桨,击空明兮溯流光。
  • 相关阅读:
    JavaScript Object.prototype.toString 解析过程
    今天一定要纪念一下
    考验你的JavaScript底细
    2016-3-23
    记录一下最近的感受
    mac ox快捷键总结
    如何把开源的项目fork到自己的仓库并Down到本地
    使用vue-cli构建vue.js项目
    成为一名优秀的web前端工程师都需要做些什么?
    关于angularjs input上传图片前获取图片的Size 浅析
  • 原文地址:https://www.cnblogs.com/nanfei/p/15097800.html
Copyright © 2011-2022 走看看