CURL命令模拟Http Get/Post请求

在对后端程序进行测试的时候,需要进行模拟连接或者书写测试脚本.

curl是一个很棒的命令.

例如目标网站Url:
127.0.0.1:8080/check_your_status?user=Summer&passwd=12345678
通过Get方法请求:
curl protocol://address:port/url?args
curl http://127.0.0.1:8080/check_your_status?user=Summer&passwd=12345678
通过Post方法请求:
curl -d "args" "protocol://address:port/url"
curl -d "user=Summer&passwd=12345678" "http://127.0.0.1:8080/check_your_status"
这种方法是参数直接在header里面的
如需将输出指定到文件可以通过重定向进行操作.
curl -H "Content-Type:application/json" -X POST --data (json.data) URL
curl -H "Content-Type:application/json" -X POST --data ‘{"message": "sunshine"}‘ http://localhost:8000/
这种方法是json数据直接在body里面的

使用Curl命令查看请求响应时间方法
curl -o /dev/null -s -w %{time_namelookup}::%{time_connect}::%{time_starttransfer}::%{time_total}::%{speed_download}"\n" http://www.36nu.com

0.014::0.015::0.018::0.019::1516256.00

-o:把curl 返回的html、js 写到垃圾回收站[ /dev/null]
-s:去掉所有状态
-w:按照后面的格式写出rt
time_namelookup:DNS 解析域名www.36nu.com的时间
time_commect:client和server端建立TCP 连接的时间
time_starttransfer:从client发出请求;到web的server 响应第一个字节的时间
time_total:client发出请求;到web的server发送会所有的相应数据的时间
speed_download:下周速度 单位 byte/s
上面这条命令及返回结果可以这么理解:
0.014: DNS 服务器解析www.36nu.com 的时间单位是s
0.015: client发出请求,到c/s 建立TCP 的时间;里面包括DNS解析的时间
0.018: client发出请求;到s响应发出第一个字节开始的时间;包括前面的2个时间
0.019: client发出请求;到s把响应的数据全部发送给client;并关闭connect的时间
1516256.00 :下载数据的速度
建立TCP连接到server返回client第一个字节的时间:0.018s – 0.015s = 0.003s
server把响应数据发送给client的时间:0.019s – 0.018 = 0.01s

原文地址:http://blog.51cto.com/lookingdream/2087142

时间: 2024-08-08 14:57:33

CURL命令模拟Http Get/Post请求的相关文章

[转]curl 命令模拟 HTTP GET/POST 请求

在 Linux 操作系统上对后端程序进行测试的时候,需要进行模拟连接或者书写测试脚本 curl 访问百度,通过GET方法请求 命令格式: curl protocol://address:port/url curl http://www.baidu.com   获取天气数据,通过POST方法请求 命令格式:curl -d "args"  "protocol://address:port/url" curl -d "city=dongguan&appk

Linux curl 命令模拟 POST/GET 请求

curl 命令,是一个利用URL规则在命令行下工作的文件传输工具. curl 支持文件的上传和下载,所以是综合传输工具,但按传统,习惯称curl为下载工具. 作为一款强力工具,curl支持包括HTTP.HTTPS.FTP等众多协议,还支持 GET.POST.cookies.认证.从指定偏移处下载部分文件.用户代理字符串.限速.文件大小.进度条等特征,还可以做网页处理流程和数据检索自动化. 在进行web后台程序开发测试过程中,常常会需要发送url进行测试,使用curl可以方便地模拟出符合需求的ur

Linux命令发送Http GET/POST请求

https://www.cnblogs.com/kaleidoscope/p/9719841.html Get请求 curl命令模拟Get请求: 1.使用curl命令: 1 2 3 4 curl "http://www.baidu.com"  如果这里的URL指向的是一个文件或者一幅图都可以直接下载到本地 curl -i "http://www.baidu.com"  显示全部信息 curl -I "http://www.baidu.com"  

Linux模拟HTTP请求-curl命令

一个简单的GET请求 使用curl命令可以轻松发起一个HTTP请求: # 使用GET凡是请求网址 curl http://www.baidu.com 可以使用-X选项指定请求方式 携带参数的POST请求 下面演示一个带头部和参数的POST请求 curl -X POST 'http://uusama.com/?r=SnapchatApi%2FdoCurlQuery' -H 'cache-control: no-cache' -H 'content-type: multipart/form-data

关于curl java 模拟http请求

近期笔者项目需求java模拟http请求,获取dns解析 tcp连接等详细耗时信息. java api中提供的urlConnection 及apache提供的httpClient都不能胜任该需求,二次开发太费时间.于是google之. 最后 得出两种解决办法: 一是使用HTTP4J. 该开源项目使用socket方式,模拟请求,记录时间戳,基本满足需求.对于header自定义等细节,可在此基础上比较方便的二次开发.只是,其中有一些bug需要修复, 如https链接时获取不到ssl时间等.使用该项目

Linux命令模拟Http的get或post请求

Http请求指的是客户端向服务器的请求消息,Http请求主要分为get或post两种,在Linux系统下可以用curl和wget命令来模拟Http的请求. get请求: 1.使用curl命令: curl "http://www.baidu.com" 如果这里的URL指向的是一个文件或者一幅图都可以直接下载到本地 curl -i "http://www.baidu.com" 显示全部信息 curl -l "http://www.baidu.com"

curl java 模拟http请求

curl java 模拟http请求 直接上代码: 1 public static void main(String args[]) throws Exception { 2 3 String url = "https://www.baidu.com"; 4 String[] cmds = {"curl",url}; 5 ProcessBuilder pb = new ProcessBuilder(cmds); 6 pb.redirectErrorStream(tr

curl 命令详解

curl命令是一个利用URL规则在命令行下工作的文件传输工具.它支持文件的上传和下载,所以是综合传输工具,但按传统,习惯称curl为下载工具.作为一款强力工具,curl支持包括HTTP.HTTPS.ftp等众多协议,还支持POST.cookies.认证.从指定偏移处下载部分文件.用户代理字符串.限速.文件大小.进度条等特征.做网页处理流程和数据检索自动化,curl可以祝一臂之力. -a/--append 上传文件时,附加到目标文件 -A/--user-agent 设置用户代理发送给服务器 -an

curl命令详解

对于windows用户如果用Cygwin模拟unix环境的话,里面没有带curl命令,要自己装,所以建议用Gow来模拟,它已经自带了curl工具,安装后直接在cmd环境中用curl命令就可,因为路径已经自动给你配置好了. linux curl是一个利用URL规则在命令行下工作的文件传输工具.它支持文件的上传和下载,所以是综合传输工具,但按传统,习惯称url为下载工具. 一,curl命令参数,有好多我没有用过,也不知道翻译的对不对,如果有误的地方,还请指正. -a/--append 上传文件时,附