美文网首页
curl命令详解

curl命令详解

作者: supermanto | 来源:发表于2020-04-06 10:10 被阅读0次

    在Linux中curl是一个利用URL规则在命令行下工作的文件传输工具,可以说是一款很强大的http命令行工具。它支持文件的上传和下载,是综合传输工具,但按传统,习惯称url为下载工具。

    语法: curl [option] [url]

    常见参数:

    -A/--user-agent <string> 设置用户代理发送给服务器
    -b/--cookie <name=string/file> cookie字符串或文件读取位置
    -c/--cookie-jar <file> 操作结束后把cookie写入到这个文件中
    -C/--continue-at <offset> 断点续转
    -D/--dump-header <file> 把header信息写入到该文件中
    -e/--referer 来源网址
    -f/--fail 连接失败时不显示http错误
    -o/--output 把输出写到该文件中
    -O/--remote-name 把输出写到该文件中,保留远程文件的文件名
    -r/--range <range> 检索来自HTTP/1.1或FTP服务器字节范围
    -s/--silent 静音模式。不输出任何东西
    -T/--upload-file <file> 上传文件
    -u/--user <user[:password]> 设置服务器的用户和密码
    -w/--write-out [format] 什么输出完成后
    -x/--proxy <host[:port]> 在给定的端口上使用HTTP代理
    -#/--progress-bar 进度条显示当前的传送状态
    -I 只展示基础信息(响应头)

    例子:
    1 基础用法:

    Administrator@PC-20141114NHWZ MINGW64 /e/shell/file_folder
    $ curl  https://testing-studio.com/
    

    可以看到该页面的html代码打印在屏幕上
    2 可以将html代码输出到文件中

    Administrator@PC-20141114NHWZ MINGW64 /e/shell/file_folder
    $ curl  https://testing-studio.com/ > testing.html
      % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                     Dload  Upload   Total   Spent    Left  Speed
    100 17229    0 17229    0     0  39156      0 --:--:-- --:--:-- --:--:-- 39246
    

    可以看到,目录下新增了文件testing.html

    3 将html代码追加到某个文件中

    Administrator@PC-20141114NHWZ MINGW64 /e/shell/file_folder
    $ curl  https://testing-studio.com/ >> testing.html
      % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                     Dload  Upload   Total   Spent    Left  Speed
    100 17229    0 17229    0     0  15748      0 --:--:--  0:00:01 --:--:-- 15763
    

    可以看到testing.html又追加了内容
    4 过滤该页面的所有超链接

    Administrator@PC-20141114NHWZ MINGW64 /e/shell/file_folder
    $ curl  https://testing-studio.com/ | grep href > filtering.txt
      % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                     Dload  Upload   Total   Spent    Left  Speed
    100 17229    0 17229    0     0  58206      0 --:--:-- --:--:-- --:--:-- 58403
    
    可以看到把所有的href都过滤出来了

    5 -I可以查看响应头信息

    Administrator@PC-20141114NHWZ MINGW64 /e/shell/file_folder
    $ curl -s -I https://testing-studio.com/
    HTTP/2 200
    server: nginx
    date: Sat, 22 Feb 2020 06:58:34 GMT
    content-type: text/html; charset=utf-8
    vary: Accept-Encoding
    x-frame-options: SAMEORIGIN
    x-xss-protection: 1; mode=block
    x-content-type-options: nosniff
    x-download-options: noopen
    x-permitted-cross-domain-policies: none
    referrer-policy: strict-origin-when-cross-origin
    x-discourse-route: list/latest
    cache-control: no-cache, no-store
    x-request-id: 43d9067e-4b9b-4e98-8b6b-966516d0452f
    x-runtime: 0.059283
    strict-transport-security: max-age=31536000
    

    6 发送一个GET请求

    --- ~ » curl -X GET url -H 'cookie:xxxx'
    

    7 发送一个POST请求

    --- ~ » curl -X POST url -H 'cookie:xxxx' -d ''
    

    相关文章

      网友评论

          本文标题:curl命令详解

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