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. 你不一定懂的cpu显示信息

    在linux命令中用top查看系统的情况,在cpu这一行有一些分部表示什么 下面有一篇博文,对此写的非常清楚,特转载.猛击下面的链接 http://www.cnblogs.com/yjf512/p/3 ...

  2. 【小白的CFD之旅】07 CFD常识

    学了一周的流体力学,小白对于流体力学有了基本的了解,但是流体力学涵盖的内容何其之多,一周的时间怎么可能学得好呢,很多的概念都是模棱两可.为了在一个月之后能够应用CFD,小白又找到了黄师姐. “师姐,看 ...

  3. hdu2082 找单词 (母函数)

    找单词 题意: 中文题,考虑是不是要写个英文题意..(可惜英语水平不够  囧rz)                (题于文末) 知识点: 母函数(生成函数): 生成函数有普通型生成函数和指数型生成函数 ...

  4. Java正则抓取email

    实现思路 1.使用Java.net.URL对象,绑定网络上某一个网页的地址 2.通过java.net.URL对象的openConnection()方法获得一个HttpConnection对象 3.通过 ...

  5. 不封装ajax 带url参数调用接口

    html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF- ...

  6. 关于JSP---三大指令

    JSP三大指令: page    ------>最复杂的一个指令,属性很多,常用的像import,language,pageEncoding等等 include-------->静态包含, ...

  7. npm设置prefix 路径

    Windows下的Nodejs npm路径是appdata,很不爽,想改回来,但是在cmd下执行以下命令也无效 npm config set cache "D:\nodejs\node_ca ...

  8. Java里String.split需要注意的用法

    我们常常用String的split()方法去分割字符串,有两个地方值得注意: 1. 当分隔符是句号时("."),需要转义: 由于String.split是基于正则表达式来分割字符串 ...

  9. Angular快速入门篇

    简介 AngularJS 是一个为动态WEB应用设计的结构框架,提供给大家一种新的开发应用方式,这种方式可以让你扩展HTML的语法,以弥补在构建动态WEB应用时静态文本的不足,从而在web应用程序中使 ...

  10. 【JSON】JavaScript删除json元素

    1.json中的两种结构:对象{}和数组[] 2.直接delete json对象[元素名称].