Linux命令发送Http的get或post请求(curl和wget两种方法)

本文介绍了如何在Linux系统中使用curl和wget命令模拟HTTP的GET和POST请求,并提供了详细的命令示例。

 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 "p1=ss&p2=ff" http://192.168.1.21:8088

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

       示例: wget --post-data="gaos"  http://192.168.1.21:8088


三、curl (可直接发送格式化请求例如json)

     命令:curl -H "Content-type: application/json" -X POST -d '{"srcRef":"1002"}' http://192.168.1.21:8088


有时候会出现下面的bug


你可以使用 `wget` 命令Linux 命令行中实现 **GET 请求** **POST 请求**,虽然 `wget` 主要用于下载文件,但它也支持发送 HTTP 请求并获取响应。 --- ## ✅ 一、使用 `wget` 发送 GET 请求 GET 请求是最常见的 HTTP 方法,用于从服务器获取数据。 ### 🔹 示例: ```bash wget "http://192.168.195.134:8080/search?query=hello" ``` - 这条命令会向 `http://192.168.195.134:8080/search` 发送一个 GET 请求,并将返回内容保存为本地文件(默认文件名是 `search?query=hello`)。 ### 🔹 保存响应内容为指定文件名: ```bash wget -O output.html "http://192.168.195.134:8080/search?query=hello" ``` - `-O` 参数指定输出文件名。 --- ## ✅ 二、使用 `wget` 发送 POST 请求 POST 请求用于向服务器提交数据,通常用于表单提交、API 接口调用等场景。 ### 🔹 方法:使用 `--post-data` `--post-file` 参数 ### 1. 使用 `--post-data` 提交表单数据: ```bash wget --post-data "username=admin&password=123456" \ --header="Content-Type: application/x-www-form-urlencoded" \ http://192.168.195.134:8080/login \ -O response.html ``` - `--post-data`:指定要发送POST 数据; - `--header`:设置请求头(可选,但推荐设置); - `-O`:将响应保存为 `response.html`。 ### 2. 使用 `--post-file` 提交 JSON 数据: 如果你要发送 JSON 数据,可以先写入文件,再通过 `--post-file` 提交: #### 示例: ```bash echo '{"name":"Tom", "age":20}' > data.json wget --post-file=data.json \ --header="Content-Type: application/json" \ http://192.168.195.134:8080/api/user \ -O response.json ``` --- ## ✅ 三、其他常用 `wget` 参数说明 | 参数 | 说明 | |------|------| | `-O` | 指定输出文件名 | | `-q` | 静默模式(不输出日志) | | `-S` | 显示响应头信息 | | `--timeout` | 设置超时时间 | | `--tries` | 设置重试次数 | --- ## ✅ 四、完整示例汇总 ### GET 请求完整示例: ```bash wget -O output.html "http://192.168.195.134:8080/search?query=test" ``` ### POST 表单请求完整示例: ```bash wget --post-data "username=admin&password=secret" \ --header="Content-Type: application/x-www-form-urlencoded" \ http://192.168.195.134:8080/login \ -O login_response.html ``` ### POST JSON 请求完整示例: ```bash echo '{"email":"user@example.com", "token":"abc123"}' > request.json wget --post-file=request.json \ --header="Content-Type: application/json" \ http://192.168.195.134:8080/api/auth \ -O auth_response.json ``` --- ## ✅ 五、注意事项 - `wget` 不像 `curl` 那样灵活,不能像 `curl` 那样动态查看响应内容; - 如果你只需要查看响应内容而不保存文件,可以使用 `curl`; - 如果你只是想调试接口,建议使用 `curl`,例如: ```bash curl -X POST http://192.168.195.134:8080/login \ -d "username=admin&password=123456" ``` --- ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值