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 完成后输出什么
    桂棹兮兰桨,击空明兮溯流光。
  • 相关阅读:
    HDU 2089 不要62
    HDU 5038 Grade(分级)
    FZU 2105 Digits Count(位数计算)
    FZU 2218 Simple String Problem(简单字符串问题)
    FZU 2221 RunningMan(跑男)
    FZU 2216 The Longest Straight(最长直道)
    FZU 2212 Super Mobile Charger(超级充电宝)
    FZU 2219 StarCraft(星际争霸)
    FZU 2213 Common Tangents(公切线)
    FZU 2215 Simple Polynomial Problem(简单多项式问题)
  • 原文地址:https://www.cnblogs.com/nanfei/p/15097800.html
Copyright © 2011-2022 走看看