• BiaoDoo首页
  • 自主产品
       自主产品
       测试工具
       源码安全/质量测试云平台
       测试用例开发工具
       软件测试态势分析平台
       开源软件安全审计系统
       软件造价
       软件造价概算平台
       运维产品
       应用源码监测系统
       教学实训平台
       软件测试实验室平台
  • Micro Focus产品代理
       Micro Focus产品代理
       Fortify SCA
       Webinspect
       LoadRunner
       ALM/QualityCenter
       MF UFT
       MF Mobile Center
       Diagnostics
  • 其它产品
       其它产品
       AppScan(IBM)
       Klockwork Insight
       Coverity静态分析
       Black Duck--黑鸭软件成分分析
  • 安全产品
       安全产品
       U盾
  • 工程咨询
       工程咨询
       IT规划咨询
       软件造价概算
       软件架构评估
       信息工程监理
       测试体系咨询
  • 软件测试
       软件测试
       工程验收测试
       压力测试与优化
       产品认证测试
       专题测试
       医疗设备软件测试
       摇号软件测试
       科研项目验收
       软件故障诊断
       委托客制测试
       软件登记测试
       科技成果鉴定
       国产软件适配测试
  • 安全测试
       安全测试
       软件安全测试
       源码安全测试
       等级保护测评
       渗透测试
       风险评估
  • 企业服务
       企业服务
       系统保障与救援
       大数据服务
       ICP证书办理
       软件著作权
       首版次申报
  • 教育培训
       教育培训
       ISTQB认证
       软件产品检验员
       软件就业培训
       校企合作
       信息安全培训
  • 认证中心
       认证中心
       软件企业认证
       质量安全体系认证
       高新技术企业认证
       企业能力认证
       节能与绿色评价服务
       其它系统认证
  • 资讯中心
       资讯中心
       最新资讯
       政策法规
       技术方案
  • 开源测试 · 青云渡
       开源测试 · 青云渡
       技术文摘
       BiaoDoo开源
       常用工具
  • 全国网络
       全国网络
  • BiaoDoo
       BiaoDoo
       软件管控领导者
       合作伙伴
       FAQ
       加入我们
       招聘信息
       合作加盟
       联系我们
  • 测试外包
       测试外包
       离岸测试外包
       测试人才外协
  • 开源测试 · 青云渡

    curl命令详解

    一、curl命令详解

    (1)curl命令作用

          curl命令是一个功能强大的网络工具,它能够通过http、ftp等方式下载文件,也能够上传文件,同时支持HTTPS等众多协议,还支持POST、cookies、认证、从指定偏移处下载部分文件、用户代理字符串、限速、文件大小、进度条等特征。其实curl远不止前面所说的那些功能,大家可以通过man curl阅读手册页获取更多的信息。类似的工具还有wget。curl命令使用了libcurl库来实现,libcurl库常用在C程序中用来处理HTTP请求,curlpp是libcurl的一个C++封装,这几个东西可以用在抓取网页、网络监控等方面的开发,而curl命令可以帮助来解决开发过程中遇到的问题。

    (2)常用参数

        curl命令参数很多,这里只列出我曾经用过、特别是在shell脚本中经常用到过的那些。

    -a/--append 上传文件时,附加到目标文件

    -A:随意指定自己这次访问所宣称的自己的浏览器信息

    -b/--cookie <name=string/file> cookie字符串或文件读取位置,使用option来把上次的cookie信息追加到http request里面去。

    -c/--cookie-jar <file> 操作结束后把cookie写入到这个文件中

    -C/--continue-at <offset>  断点续转

    -d/--data <data>   HTTP POST方式传送数据

        --data-ascii <data>以ascii的方式post数据
         --data-binary <data>以二进制的方式post数据
         --negotiate使用HTTP身份验证
         --digest使用数字身份验证
         --disable-eprt禁止使用EPRT或LPRT
         --disable-epsv禁止使用EPSV

    -D/--dump-header <file> 把header信息写入到该文件中

         --egd-file <file>  为随机数据(SSL)设置EGD socket路径

         --tcp-nodelay     使用TCP_NODELAY选项

    -e/--referer <URL>  指定引用地址

    -F/--form <name=content>   模拟http表单提交数据

         --form-string <name=string> 模拟http表单提交数据

    -G/--get    以get的方式来发送数据

    -H/--header <header> 指定请求头参数

        --ignore-content-length  忽略的HTTP头信息的长度

    -i/--include     输出时包括protocol头信息

    -I/--head 仅返回头部信息,使用HEAD请求

    -k/--insecure  允许不使用证书到SSL站点

    -K/--config    指定的配置文件读取

    -l/--list-only   列出ftp目录下的文件名称

        --limit-rate <rate> 设置传输速度

         --local-port<NUM>  强制使用本地端口号

    -m/--max-time <seconds> 指定处理的最大时长

         --max-redirs <num>    设置最大读取的目录数

         --max-filesize <bytes>  设置最大下载的文件总量

    -o/--output <file>   指定输出文件名称

    -O/--remote-name  把输出写到该文件中,保留远程文件的文件名

     

    -v/--verbose  小写的v参数,用于打印更多信息,包括发送的请求信息,这在调试脚本是特别有用。

    -s/--slient 减少输出的信息,比如进度

    --connect-timeout <seconds> 指定尝试连接的最大时长

    -x/--proxy <proxyhost[:port]> 指定代理服务器地址和端口,端口默认为1080

     

     

     

     

     

    -u/--user <user[:password]>设置服务器的用户和密码

    -r/--range <range>检索来自HTTP/1.1或FTP服务器字节范围

       --range-file 读取(SSL)的随机文件

    -R/--remote-time   在本地生成文件时,保留远程文件时间

        --retry <num>   指定重试次数

        --retry-delay <seconds>   传输出现问题时,设置重试间隔时间

        --retry-max-time <seconds>  传输出现问题时,设置最大重试时间

    -s/--silent  静默模式。不输出任何东西

    -S/--show-error  显示错误

        --socks4 <host[:port]> 用socks4代理给定主机和端口

        --socks5 <host[:port]> 用socks5代理给定主机和端口

        --stderr <file>

    -x/--proxy <host[:port]> 在给定的端口上使用HTTP代理

    -X/--request <command> 指定什么命令。curl默认的HTTP动词是GET,使用-X参数可以支持其他动词。

    -T/--upload-file <file> 指定上传文件路径

    (3)使用实例

    1、抓取cokkie信息到一个文件中

    curl -c cookie0.txt -d "username=****&password=***" http://www.kuaipan.cn/accounts/login/

    2、get方法获取信息

    curl -G -I -o xsrf.txt -b cookie1.txt -c cookie2.txt http://web.kuaipan.cn/n/drive/home.tmpl/upload


    上一篇:.NET Core Runtime (CoreRT)

    下一篇:无