curl命令可以实现http post或者get的请求,是linux下的命令行工具

1.1.直接请求url,打印标准输出

1.2.使用-o参数,可以标准输出到指定的位置

[root@VM-3-10-13 ~]# curl https://www.baidu.com -o /tmp/baidu.tmp
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 2443 100 2443 0 0 12587 0 --:--:-- --:--:-- --:--:-- 12658

可以看到整个下载的数据大小和时间

1.3. --head显示url的header信息

[root@VM-3-10-13 ~]# curl  --head https://www.baidu.com
HTTP/1.1 200 OK
Server: bfe/1.0.8.18
Date: Tue, 21 Mar 2017 02:17:37 GMT
Content-Type: text/html
Content-Length: 277
Connection: keep-alive
Last-Modified: Mon, 13 Jun 2016 02:50:01 GMT
ETag: "575e1f59-115"
Cache-Control: private, no-cache, no-store, proxy-revalidate, no-transform
Pragma: no-cache
Accept-Ranges: bytes

1.4. -x 使用http代理访问

1.5.cookie

curl -c /tmp/cookies https://www.baidu.com   #接收保存cookie
curl -b /tmp/cookies http://www.baidu.com    #发送cookie
curl -b "k1=v1;k2=v2" http://www.baidu.com #发送cookie

1.6.发送数据

以get方式提交:

 curl -G  -d "username=qiangqiang.chang&password=xxxxxx" http://jumpserver.i.beebank.com/login/

以post方式提交:

curl  -d "username=qiangqiang.chang&password=xxxxxx" http://jumpserver.i.beebank.com/login/

1.7.http header处理

设置http请求头信息

curl -A 'Mozilla/5.0' http://www.baidu.com    #设置User-Agent
curl -e " http://jumpserver.i.beebank.com/login/" http://jumpserver.i.beebank.com #设置Referer
curl -H "Connection:keep-alive \n User-Agent: Mozilla/5.0" http://www.aiezu.com #设置自定义的头信息

http header处理:

[root@linux-node1 ~]# curl -I http://www.baidu.com   #获取header信息
HTTP/1.1 200 OK
Server: bfe/1.0.8.18
Date: Tue, 21 Mar 2017 03:22:52 GMT
Content-Type: text/html
Content-Length: 277
Last-Modified: Mon, 13 Jun 2016 02:50:04 GMT
Connection: Keep-Alive
ETag: "575e1f5c-115"
Cache-Control: private, no-cache, no-store, proxy-revalidate, no-transform
Pragma: no-cache
Accept-Ranges: bytes
curl -D  /tmp/header1.tmp -s http://www.baidu.com  #将相应头信息保存到指定的文件中

1.8.登录认证

curl -u qianngqiang.chang:xxxxx http://jumpserver.i.beebank.com/

  

curl命令解析的更多相关文章

  1. curl命令常见用法汇总 good

    curl是一种命令行工具,作用是发出网络请求,然后得到和提取数据,显示在"标准输出"(stdout)上面. curl是一个强大的命令行工具,它可以通过网络将信息传递给服务器或者从服 ...

  2. CURL --- 命令行浏览器CURL

    CURL --- 命令行浏览器CURL   CURL --- 命令行浏览器   CURL? 嗯,说来话长了~~~~ 这东西现在已经是苹果机上内置的命令行工具之一了,可见其魅力之一斑 1)二话不说,先从 ...

  3. Ubuntu命令用法详解——curl命令

    简介: cURL(CommandLine Uniform Resource Locator)是一个利用URL语法在命令行下工作的文件传输工具,1997年首次发行.它支持文件上传和下载,所以是综合传输工 ...

  4. windows下使用curl命令 && 常用curl命令

    什么是curl命令? curl是利用URL语法在命令行方式下工作的开源文件传输工具.它被广泛应用在Unix.多种Linux发行版中,并且有DOS和Win32.Win64下的移植版本. 如何在windo ...

  5. curl命令大全

    curl 命令行工具的使用及命令参数说明 curl是一个开源的用于数据传输的命令行工具与库,它使用URL语法格式,支持众多传输协议,包括:HTTP.HTTPS.FTP.FTPS.GOPHER.TFTP ...

  6. 学习笔记之 curl 命令用法详解

    [前言]     本文翻译和整理自 Linux-2.6.32 中和 curl 相关的 Manual Page 描述文档. 文档目的仅在提醒读者所遗忘的知识点,故在整理时削弱了阅读流畅性,适用于对 cu ...

  7. CURL命令测试网站打开速度

    curl -o /dev/null -s -w %{time_namelookup}:%{time_connect}:%{time_starttransfer}:%{time_total} http: ...

  8. 如何使用curl命令指定ip访问url

    有时我们需要测试一个url,但域名并没解析,这时为了一个简单的测试而写host或去做域名解析,显然这并不高效,而有些域名甚至是正式的域名,因此我们可有使用curl命令进行测试 方法一 curl url ...

  9. Linux curl 命令详解

    命令概要 该命令设计用于在没有用户交互的情况下工作. curl 是一个工具,用于传输来自服务器或者到服务器的数据.「向服务器传输数据或者获取来自服务器的数据」 可支持的协议有(DICT.FILE.FT ...

随机推荐

  1. 关于HSTS

    HSTS(HTTP Strict Transport Security) 当用户在浏览器中输入一个域名,如果没有注明前缀(也就是没输入"http"的时候)的时候,浏览器会默认按照h ...

  2. ngModel缺省是by reference,

    1) 缺省是 by reference, not value,  ngModel, ngOptions等都一样 2) 如果要 track value 用 "track by",   ...

  3. RecyclerView拖拽排序;

    效果就是这样,RecyclerView列表可拖拽排序,可删除,可添加: RecyclerView给我们提供了一个手势器: ItemTouchHelper helper = new ItemTouchH ...

  4. bzoj3252: 攻略(贪心)

    /* 因为权值都是正的, 所以贪心的正确性能保证 然后重链贪心跑一下就好了 */ #include<cstdio> #include<algorithm> #include&l ...

  5. Github上 vue-element-admin项目配置

    Github对应地址 https://github.com/PanJiaChen/vue-element-admin 其中git为最新版本才支持github 的 clone代码  步骤如下 # clo ...

  6. Missing artifact javax.transaction:jta:jar:1.0.1B

    下载https://pan.baidu.com/s/1hsfyj8S到某目录,比如: /Users/yintingting/Downloads 打开terminal,cd /Users/yinting ...

  7. h5项目如何打成war包

    有着java的运行环境,进入到h5工作目录,运行: jar -cvf projectname.war ./* projectname为项目的名称.

  8. linux 下的ssh免密登陆设置

    一,原理 说明: A为linux服务器a B为linux服务器b 每台linux都有ssh的服务端和客户端,linux下的ssh命令就是一个客户端 我们常用ssh协议来进行登陆或者是文件的拷贝,都需要 ...

  9. python中的expandtabs、\t

    expandtabs()将tab转换成空格,默认1个tab转成8个空格,\t制表符代表一个tab,我们也可以自定义转换成几个空格 举个例子: 1 a = "hello\tworld" ...

  10. Promise笔记

    参考:阮一峰es6(http://es6.ruanyifeng.com/#docs/promise) 时间:2018-07-03 类型:个人笔记 解决的问题:异步编程的一种解决方案. 定义:Promi ...