• Linux下的curl工具


    Curl

    Curl是Linux下的http命令行工具。
    
    • curl [url]
      获取链接信息,获取的链接信息将在控制台中打印。
    ➜  ~ curl g.cn
    <HTML><HEAD><meta http-equiv="content-type" content="text/html;charset=utf-8">
    <TITLE>301 Moved</TITLE></HEAD><BODY>
    <H1>301 Moved</H1>
    The document has moved
    <A HREF="http://www.google.cn/">here</A>.
    </BODY></HTML>
    
    • curl [url] > [file]
    • curl -o [file] [url]
      将获取的信息存储到指定文件中
    ➜  ~ curl g.cn > biby.test
      % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                     Dload  Upload   Total   Spent    Left  Speed
    100   218  100   218    0     0    779      0 --:--:-- --:--:-- --:--:--   781
    
    ➜  ~ cat biby.test
    <HTML><HEAD><meta http-equiv="content-type" content="text/html;charset=utf-8">
    <TITLE>301 Moved</TITLE></HEAD><BODY>
    <H1>301 Moved</H1>
    The document has moved
    <A HREF="http://www.google.cn/">here</A>.
    </BODY></HTML>
    
    ➜  ~ curl -o biby_test2 g.cn
      % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                     Dload  Upload   Total   Spent    Left  Speed
    100   218  100   218    0     0   1241      0 --:--:-- --:--:-- --:--:--  1245
    
    ➜  ~ cat biby_test2
    <HTML><HEAD><meta http-equiv="content-type" content="text/html;charset=utf-8">
    <TITLE>301 Moved</TITLE></HEAD><BODY>
    <H1>301 Moved</H1>
    The document has moved
    <A HREF="http://www.google.cn/">here</A>.
    </BODY></HTML>
    
    • curl -x ip:port file url
      设置proxy,-x 指定http访问所使用的proxy服务器及其端口
    curl -x 127.0.0.1:1087 -o biby.test3 http://www.google.com/
      % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                     Dload  Upload   Total   Spent    Left  Speed
    100 13244    0 13244    0     0  84621      0 --:--:-- --:--:-- --:--:-- 84897
    

    • curl -o biby.test4 -D cookie.txt -X POST -d '{"name": "biby", "password": "123"}' --header "Content-Type: application/json" url
      -D 把http的response信息中的cookie信息存储到指定文件cookie.txt中。当页面信息被存储到biby.test4中的同时,cookie信息也被存储到cookie.txt中。
    curl -o biby.test4 -D cookie.txt -X POST -d '{"name": "biby", "password": "123"}' http://sso.biby.com/login --header "Content-Type: application/json"
      % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                     Dload  Upload   Total   Spent    Left  Speed
    100   978  100   860  100   118    316     43  0:00:02  0:00:02 --:--:--   316
    
    

    • curl -o biby.test5 -b cookie.txt url
      把登陆保存下的cookie信息追加到http request,这样即可访问需要验证cookie信息的链接
    curl -o biby.test5 -b cookie.txt http://biby.com
      % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                     Dload  Upload   Total   Spent    Left  Speed
    100 10466  100 10466    0     0   797k      0 --:--:-- --:--:-- --:--:--  851k
    
    • curl -A "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)" url
      自定义请求浏览器信息
    // 定义Windows 2000上的IE6
    curl -A "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)" https://www.cnblogs.com/biby/
    
    • curl -e "url_link" url
      设定referer,告诉服务器,请求是点击链接"url_link"过来的
      [可用在有防盗链场景,访问限制,检查http访问的referer。比如需要先访问首页再访问下载页,访问下载页的referer地址就是第一次访问成功后的地址]
    curl -e "xxx.com" http://www.com/test_download.html
    
    • curl -O url
      按照服务器上文件名称下载保存
    // 自定义名字下载保存
    curl -o test.jpg http://xxx.com/img.jpg
    // 按服务器上文件名称下载保存
    curl -O http://xxx.com/img.jpg
    // 批量下载[有规律文件名],下载img1到img10所有图片
    curl -O http://xxx.com/img[1-10].jpg
    // 批量下载多个文件夹下的文件,~biby与~yan文件夹下的001到201文件都会被下载[该方法因为~biby与~yan文件夹下的文件都为001-201,先下载的文件会被慢下载的文件替换]
    curl -O http://xxx.com/~{biby,yan}/img[001-201].jpg
    // 批量多文件夹下文件自定义文件名称下载[~biby/001.jpg文件下载后的名称为001-biby.jpg。~yan/001.jpg文件下载后的名称为001-yan.jpg]
    curl -o #2_#1.jpg http://xxx.com/~{biby,yan}/img[001-201].jpg
    
  • 相关阅读:
    pg_dump后数据导入报错 -- invalid byte sequence for encoding "UTF8": 0xe5 0xb1
    mysql中的read_only和super_read_only
    pg_repack安装和使用
    winform 使用Thread.Sleep界面卡死 使用 Application.DoEvents 方法防止UI假死
    mysql 使用ifnull 来对应 sql server isnull函数
    计算两个经纬度的距离
    .net framework webapi添加swagger
    LINQto实体中不支持指定类型成员“Date”
    html5跳转小程序wx-open-launch-weapp踩坑
    vue同时校验两个表单
  • 原文地址:https://www.cnblogs.com/biby/p/13797305.html
Copyright © 2020-2023  润新知