curl命令可以用来构造http请求。参数有很多,常用的参数如下:

通用语法:
curl [option] [URL...]
在处理URL时其支持类型于SHELL的名称扩展功能,如http://www.jbxue.com/archive[1996-1999]/vol[1-4]/part{a,b,c}.html可以生成多个期望的URL

curl的选项功能:

  • 不带任何参数时 curl 将返回指定url中的数据并打印在屏幕上
  • -u 使用用户名和密码登陆。如curl -uname:passwd URL
  • -b/--cookie  <name=data>   向服务器提交cookie,若无=则name视为文件名,例如:curl -b cookie.txt www.jbxue.com
  • -o out  将指定curl返回保存为out文件,内容从html/jpg到各种MIME类型文件。如curl -o page.html URL
  • -d <key=value>  向服务器POST表单数据 例如:curl -d "order=111&count=2" http://www.jbxue.com/buy
  • -A/--user-agent  <ua>  指定发送请求的用户代理,例如:curl -A My-Agent/1.0.0 www.jbxue.com
  • -x  ip:port 指定使用的http代理,例如:curl -x 192.168.1.1:8080 www.jbxue.com
  • -D head.txt  将服务器的返回的header保存为文件,头部的cookie也可被保存,例如:curl -D header.txt www.jbxue.com  
    • 如果希望从本地文件中获取表单数据,则在文件名前加@ ,例如:curl -d @data.xml http://www.jbxue.com
    • 若希望从标准输入获取则用 curl -d "name=username&passwd=pwd" http://www.jbxue.com
  • -L 当页面有跳转的时候,输出跳转到的页面
  • -I  header信息  当有跳转时,可以通过 curl -L -I URL|grep Location 来确定跳转到的新url地址
  • -c <file> 保存服务器的cookie文件
  • -e url  设置引用头的值
  • -T localfile  向服务器PUT文件 例如:curl -T 1.mp3  www.jbxue.com/upload.php
  • -F <key=value> 向服务器POST表单,例如:curl -F "web=@index.html;type=text/html" url.com
  • -E cert.pem  指定本地证书
  • -H <header:value>  为HTTP请求设置任意header及值。如curl -H "Connection:keep-alive" http://www.jbxue.com
  • -X/--request method 用户定义的HTTP请求方法名如 curl -X GET www.baidu.com
  • --compressed 采用压缩方式接收返回数据
  • --connect-timeout <s> 设置超时时间
  • -v 详细输出,包含请求和响应的首部
  • --retry num
  • --retry timeo 指定重试的次数和间隔
  • --tcp-nodelay 打开TCP_NODELAY选项  不进行捎带确认
  • -O  按服务器上的名称保存下载的文件
  • -r/--range  from-to 下载指定range内的数据
  • -C 在保存文件时进行续传

环境 变量:http_proxy [protocol://]<host>[:port]

curl命令使用的更多相关文章

  1. curl命令行使用

    curl 命令使用   原文地址:http://blog.sina.com.cn/s/blog_4b9eab320100slyw.html 可以看作命令行浏览器 1.开启gzip请求curl -I h ...

  2. CURL命令报错:dyld: lazy symbol binding failed: Symbol not found: _SSL_load_error_strings解决办法

    Mac OS X 10.11.6, curl 命令报错,错误如下: dyld: lazy symbol binding failed: Symbol not found: _SSL_load_erro ...

  3. CURL命令详解

    curl命令是一个强大的网络工具,它能通过http,ftp等方式下载.上传文件.其中curl远不止这些功能,大家可以通过阅读手册获取更多的信息,类似的工具还有wget. curl命令使用了libcur ...

  4. limux curl命令

    linux curl命令很强大: http://blog.chinaunix.net/uid-14735472-id-3413867.html curl是一种命令行工具,作用是发出网络请求,然后得到和 ...

  5. linux curl 命令详解,以及实例

    linux curl是一个利用URL规则在命令行下工作的文件传输工具.它支持文件的上传和下载,所以是综合传输工具,但按传统,习惯称url为下载工具. 一,curl命令参数,有好多我没有用过,也不知道翻 ...

  6. 使用curl命令操作elasticsearch

    使用curl命令操作elasticsearch 大岩不灿 发表于 2015年4月25日 浏览 7,426 次 第一:_cat系列_cat系列提供了一系列查询elasticsearch集群状态的接口.你 ...

  7. Linux之curl命令详解

    url命令是一个功能强大的网络工具,它能够通过http.ftp等方式下载文件,也能够上传文件.其实curl远不止前面所说的那些功能,大家可以通过man curl阅读手册页获取更多的信息.类似的工具还有 ...

  8. zabbix通过curl命令判断web服务是否正常并自动重启服务

    zabbix通过curl命令判断web服务是否正常并自动重启服务 主要思路: 通过curl命令获取服务器响应码,如果正常返回200,不正常返回000 具体命令: curl -I -s -w " ...

  9. curl 命令行应用

    我一向以为,curl只是一个编程用的函数库. 最近才发现,这个命令本身,就是一个无比有用的网站开发工具,请看我整理的它的用法. =================================== ...

随机推荐

  1. ubuntu中chromium无法播放flash,安装flash

    ubuntu14.0.4中系统自带的chromium无法播放flash,后来查了下,得知chromium已经不支持adobe flash了,用户可使用pepper flash替代.安装pepper f ...

  2. 用修改hosts的方式来屏蔽某些网站

    首先呢,来自知乎的一些问答:修改 hosts 文件可以上一些墙内屏蔽的网站,其原理是什么? (然而通过增/改hosts的方法来FQ已经失效很久了) 然后呢,也可以通过修改hosts来达到屏蔽某些网站的 ...

  3. BI建模原则和常见问题

    BI建模的质量直接影响数据仓库项目的质量,所以在建模前,要对数据仓库的架构组成.大小以及模型功能有明确的定义. 影响BI数据仓库建模的因素众多,往往会随着项目的具体情况不同而变化.但有些原则是相通的, ...

  4. 用最简单的方式在C#中使用多线程加速耗时的图像处理算法的执行(多核机器)。

    图像处理中,有很多算法由于其内在的复杂性是天然的耗时大户,加之图像本身蕴涵的数据量比一般的对象就大,因此,针对这类算法,执行速度的提在很大程度上依赖于硬件的性能,现在流行的CPU都是至少2核的,稍微好 ...

  5. P1774 最接近神的人_NOI导刊2010[树状数组 逆序对 离散化]

    题目描述 破解了符文之语,小FF开启了通往地下的道路.当他走到最底层时,发现正前方有一扇巨石门,门上雕刻着一幅古代人进行某种活动的图案.而石门上方用古代文写着“神的殿堂”.小FF猜想里面应该就有王室的 ...

  6. COGS1008. 贪婪大陆[树状数组 模型转换]

    1008. 贪婪大陆 ★★   输入文件:greedisland.in   输出文件:greedisland.out   简单对比时间限制:1 s   内存限制:128 MB 试题四:贪婪大陆  [题 ...

  7. jdbc java数据库连接 4)PreParedStatement接口 之 区别和例子

    Statement 和 PreparedStatement 的区别: 1)语句不同 PreparedStatement需要预编译以及需要参数 2)由于PreparedStatement有缓存区,所以效 ...

  8. Eclipse使用svn文章列表

    http://www.cnblogs.com/duanxz/p/3334660.html http://www.cnblogs.com/duanxz/p/3334660.html http://130 ...

  9. nodeJS基础08:读取图片

    1.读取图片 //server.js var http = require("http"); var readImage = require("./readImage&q ...

  10. 覆盖问题:最大覆盖问题(Maximum Covering Location Problem,MCLP)和集覆盖问题(Location Set Covering Problem,LSCP)

    集覆盖问题研究满足覆盖所有需求点顾客的前提下,服务站总的建站个数或建 设费用最小的问题.集覆盖问题最早是由 Roth和 Toregas等提出的,用于解决消防中心和救护车等的应急服务设施的选址问题,他们 ...