1 概述
Curl 是一个命令行实用程序,允许用户创建网络请求。Curl 在 Windows、 Linux 和 Mac 上皆可使用,这使它成为开发人员的首选。
在本文中,我们将解释如何使用 CURL 发出 POST 请求。使用 HTTP POST 方法向远程服务器发送数据。
2 发送一个 POST 请求
命令的形式如下:
curl -X POST [options] [URL]
X 选项,指定与远程服务器通信时将使用哪种 HTTP 请求方法。
请求正文的类型由 Content-Type 设定。
一般来说,POST 请求是通过 HTML 表单发送的。发送到表单的数据通常以 multipart/form-data 或 application/x-www-form-urlencode 类型进行编码。
3 一个简单的 POST 请求
我们从一个简单的例子开始,指定 URL 发出 POST 请求。
curl -X POST http://example.com
注意:如果没有 -X POST,则默认使用 HTTP 协议的 GET 方法。
Linux curl发送post请求携带form参数(Content-Type: application/x-www-form-urlencoded)
curl -d "param1=value1¶m2=value2" -H "Content-Type: application/x-www-form-urlencoded" -X POST http://localhost:3000/data
4 使用 POST 请求发送其他字段
可以使用 POST 请求将数据发送到能处理POST 请求的远程 URL。可以在命令行使用 -d 选项传递数据。
curl -d "firstname=John&lastname=Andrew" -X POST http://example.com
所提供的数据以 & 符号分隔,通常结构为 name = value。使用 -d 选项还会添加一些隐式的 HTTP 头,比如 Content-Type 等。
可以使用 -H a 标志来发送 JSON 数据。下面的命令发送一个带有请求的 JSON 对象。
方式1
curl -d '{json}' -H 'Content-Type: application/json' https://example.com
方式2
curl localhost:3000/api/json -X POST -d '{"hello": "world"}' --header "Content-Type: application/json
5 使用 POST 请求指定 Cookie
一些 Web 应用程序依赖 Cookie 进行身份验证和授权。Curl 命令可以与 cookie 一起使用,验证身份后,访问受限制的资源。可以使用-b 或-cookie 选项来指定 Cookie 数据。
curl --cookie "sadad1321saweqe" -X POST http://example.com
6 使用 curl 发送文件
要使用 curl 发布文件,只需在文件位置前添加@符号。
curl -X POST -F 'image=@/home/user/Downloads/profile.jpg' http://example.com/upload
7 发送 JOSN 数据
Curl 命令最流行的用例之一是使用 JSON 格式进行数据通信。在下面的示例中,我们将 JSON 数据发送到服务器。
curl -d '{"key1":"value1", "key2":"value2"}' -H "Content-Type: application/json" -X POST "http://example.com/data"
或者,将 JSON 数据存在文件中。
8 总结
要查看 cURL 的其他用法,请输入 curl -h 进行查看
linux 命令行发送get请求
1. curl 命令发送GET请求:
curl -v "http://127.0.0.1:80/xcloud/test?version=1&client_version=1.1.0&seq=1001&host=aaa.com"
一、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系统也能向远程服务器发送消息了。
示例:wget --post-data="" http://mcs-inner.99bill.com/mcs-gateway/mcs/task/clear
三、curl (可直接发送格式化请求例如json)
示例:目标url:http://fsc-inner.99bill.com/acs/deposit/{srcRef}