利用curl模拟get请求和post请求以及下载上传,测试端口是否开放,tomcat是否假死

常用参数

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

  • -v/–verbose 小写的v参数,用于打印更多信息,包括发送的请求信息,这在调试脚本是特别有用。
  • -m/–max-time <seconds> 指定处理的最大时长
  • -H/–header <header> 指定请求头参数
  • -s/–slient 减少输出的信息,比如进度
  • –connect-timeout <seconds> 指定尝试连接的最大时长
  • -x/–proxy <proxyhost[:port]> 指定代理服务器地址和端口,端口默认为1080
  • -T/–upload-file <file> 指定上传文件路径
  • -o/–output <file> 指定输出文件名称
  • -d/–data/–data-ascii <data> 指定POST的内容
  • –retry <num> 指定重试次数
  • -e/–referer <URL> 指定引用地址
  • -I/–head 仅返回头部信息,使用HEAD请求
  • -i 参数可以显示 http response 的头信息,连同网页代码一起
  • -v 参数可以显示一次 http 通信的整个过程,包括端口连接和 http request 头信息。
  • -L 选项告诉cURL跟踪重定向响应;许多Web 应该使用重定向作为常规处理的一部分。它们会发送一条响应称“HTTP 302 MOVEd”,并带有一条Location:头信息来指出你的网络浏览器下一步应该访问的URL。如果你在编脚本实现一些复杂的功能,比如登录过程,那么你将必须频繁地跟踪这些重定向响应。

curl安装

sudo apt-get install curl

curl发起GET请求,也可以作为测试tomcat是否启动/假死/端口开放

  • curl http://www.baidu.com
    回车之后,HTML内容打印在屏幕上;如果这里的URL指向的是一个文件或者一幅图都可以直接下载到本地。
  • curl -i "http://www.baidu.com" 显示全部信息
  • curl -l "http://www.baidu.com" 只显示头部信息
  • curl -v "http://www.baidu.com" 显示get请求全过程解析
  • wget "http://www.baidu.com" 也可以

POST请求

d或–data参数:post请求,用法为
curl -d "id=1&name=test" http://example.com/example.php
需把请求的参数和URL分开,同时可以使用curl -d “id=1” -d “name=test” http://example.com/example.php,相当于提交了两个参数。当提交的参数值中有特殊字符就需要先转义。如空格时,就需要转义成%20。

–data-urlencode参数:可以自动转义成特殊字符,无需人工事先转义。

curl --data-urlencode "name=April 1" http://example.com/example.php

-F或–form:将本地文件上传到服务器,用法为:curl -F “filename=@/home/test/test.pic” http://example.com/example.php 。千万不能漏掉@符号。

下载

curl –o linjiqin http://www.cnblogs.com/linjiqin
执行后可以看到下载进度提示,完成100%后会自动退出了,把网页保存到linjiqin中。

它还有一个大写O的选项,是按照服务器上的文件名保存到本地,如果执行
curl –O http://www.cnblogs.com
是会报错的因为后面没有文件嘛,下载啥呢,会提示找不到文件名,如果换成
curl –O http://www.cnblogs.com/linjiqin/p/5401969.html
就自动保存文件为5401969.html。

上传

-T/–upload-file:往服务器上传文件

用法:
上传多个文件

curl -T "img[1-1000].png" ftp://example.com/upload/

上传多个文件

curl -T "{file1,file2}" http://www.example.com
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值