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. keras训练和保存

    https://cloud.tencent.com/developer/article/1010815 8.更科学地模型训练与模型保存 filepath = 'model-ep{epoch:03d}- ...

  2. 新型DenseBody框架:一张照片获得3D人体信息

    来自云从科技和上海交通大学的研究者近期提出一种新型框架 DenseBody,可直接从一张彩色照片中获取 3D 人体姿势和形状.该研究设计了一种高效的 3D 人体姿势和形状表示,无需中间表示和任务,端到 ...

  3. Solr Date类型的哪些你不得不了解的细节

    我们先来看看Solr日期类型的一些内幕,然后讨论一下Solr日期类型存在的一些问题,最后我们看看怎么解决现存的问题.概述 DateField 在Solr4.x之前,我们只有DateField,这类型现 ...

  4. [AH2017/HNOI2017]大佬(动态规划 搜索)

    /* 神仙yyb 理解题意可以发现 能够对大佬造成的伤害只和你怼了多少天大佬有关, 而且显然天数越多越好 那么我们可以先通过预处理来找出我们最多能够怼多少天大佬 然后我们发现最后我们能怼的血量状态数是 ...

  5. 关于python无法显示中文的问题:SyntaxError: Non-ASCII character '\xe4' in file test.py on line 3, but no encoding declared。

    [已解决]关于python无法显示中文的问题:SyntaxError: Non-ASCII character '\xe4' in file test.py on line 3, but no enc ...

  6. 使用Eclipse编译运行MapReduce程序 Hadoop2.6.0_Ubuntu/CentOS

    使用Eclipse编译运行MapReduce程序 Hadoop2.6.0_Ubuntu/CentOS  2014-10-10 (updated: 2016-05-22) 64246 153 本教程介绍 ...

  7. 8.Appium的基本使用-1

    1.Appium是什么?Appium是一个跨平台移动端自动化测试工具,可以便捷的为ios和Android平台创建自动化测试用例.模拟app内部各种操作,点击.滑动.文本输入等,手工操作的动作appiu ...

  8. python学习笔记_week20

    note 1.Django请求的生命周期 路由系统 -> 视图函数(获取模板+数据=>渲染) -> 字符串返回给用户 2.路由系统 /index/ -> 函数或类.as_vie ...

  9. Tomcat 之session 持久化2

    通过前文 Tomcat 之session 持久化1 ,我们已经大概了解了这么个机制.但是我没能详细展开其底层的原理. 这篇文章,我想稍微深入一点点,再继续聊一聊其底层. Tomcat 之session ...

  10. 监控hdfs 块迁移数量脚本及 metasave 日志内容详解

    把以下脚本配置到 crontab 下 ,10分钟一次,进行打点,记录复制块的进度. 想让节点快速退役(下线)的方法可以参考我的 https://www.cnblogs.com/jiangxiaoxia ...