linux模拟http get post 请求命令


推荐使用curl

   Http请求指的是客户端向服务器的请求消息,Http请求主要分为get或post两种,在Linux系统下可以用curl和wget命令来模拟Http的请求。下面就来介绍一下Linux系统如何模拟Http的get或post请求。

一、get请求:

  1、使用curl命令:

  curl “http://www.baidu.com” 如果这里的URL指向的是一个文件或者一幅图都可以直接下载到本地

  curl -i “http://www.baidu.com” 显示全部信息

  curl -l “http://www.baidu.com” 只显示头部信息

  curl -v “http://www.baidu.com” 显示get请求全过程解析

  2、使用wget命令:

  wget “http://www.baidu.com”也可以

 

二、post请求

  1、使用curl命令(通过-d参数,把访问参数放在里面):

  curl -d “param1=value1¶m2=value2” “http://www.baidu.com”

  2、使用wget命令:(--post-data参数来实现)

  wget --post-data ‘user=foo&password=bar’ http://www.baidu.com

  以上就是Linux模拟Http的get或post请求的方法了,这样一来Linux系统也能向远程服务器发送消息了。

 

使用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; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW' \ -F name=uusama \ -F like=fruit 

该请求方式相当于在页面提交一个表单,其中:

-X POST 指定请求凡是为POST请求
-H 指定请求头部
-F 指定请求参数

curl命令测试请求耗时
在curl命令中,有以下几个变量反应请求时间:

time_namelookup:DNS解析域名时间,把域名—>ipd的时间
time_connect:TCP连接的时间,三次握手的时间
time_appconnect:SSL|SSH等上层连接建立的时间
time_pretransfer:从请求开始到到响应开始传输的时间
time_redirect:从开始到最后一个请求事务的时间
time_starttransfer:从请求开始到第一个字节将要传输的时间
time_total:总时间
示例:

curl -o /dev/null -s -w time_namelookup:"\t"%{time_namelookup}"\n"time_connect:"\t\t"%{time_connect}"\n"time_appconnect:"\t"%{time_appconnect}"\n"time_pretransfer:"\t"%{time_pretransfer}"\n"time_starttransfer:"\t"%{time_starttransfer}"\n"time_total:"\t\t"%{time_total}"\n"time_redirect:"\t\t"%{time_redirect}"\n" http://www.baidu.com time_namelookup: 5.520 time_connect: 5.543 time_appconnect: 0.000 time_pretransfer: 5.543 time_starttransfer: 5.566 time_total: 5.566 time_redirect: 0.000 

其中各选项的含义如下:

-w:将请求结果输入到文件而不是标准输出
-o:请求完成后使用自定义格式输出
-s:静默模式(不要输出任何东西)

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM