curl post请求表单_使用"curl://" 命令行工具发送GET、POST请求基本操作

首先,"curl://"工具的网站地址 curl://

是一个unix的命令行的请求工具,这里记录一些基本的用法,方便自己查阅

安装

Unix/Linux/Mac: 如果你使用的Unix系的系统直接去官网下载安装或者通过apt、yum、brew等安装都可以。

Windows: 如果你使用的Windows,建议直接安装git,然后通过git的bash来使用,它是基于MinGW的,自带了"curl://"工具。如果你喜欢cygwin,你也可以自行查阅配置方法。我这里就是使用的git自带的bash来操作的。另外一说,"Cmder"里面的curl稍微有点不一样,虽然使用方法上差不多,但还是稍许的区别,我还没搞明白两个的差别,这里不做讨论。

最后,unix系的系统中使用就没啥其他的要注意的了。Windows下的powershell也是可以使用curl这个命令来发送请求的,是一个叫做“Invoke-WebRequest”的工具,启用的别名有iwr、wget、curl这三个,本质上与我们要说的"curl://"工具并不是同一个工具。关于powershell中的"curl",可以使用help curl来查阅相关帮助,也可使用命令“Get-Help Invoke-WebRequest -Online”查看在线帮助,"Invoke-WebRequest"有一个交互式的命令行操作也可以协同powershell进行编程操作,这里不进行深入,有兴趣可以去查阅在线帮助

使用

语法“ curl [options] 要请求的网址 ”, 使用方法其实很简单,在git bash或者cmder命令行中输入如下内容就发送请求到 http://example.com 网址去进行请求了:

curl https://example.com

配置

下面我们再来聊一聊“curl://”的各种参数和设置,选项的大小写是敏感的

请求方式:-X

"-X" 参数用来指定请求方式,如:GET、POST等HTTP的请求方式,用法如下:(我测试的时候“GET”和"get"有所区别,"get"会对代码保留空格,“GET”会直接删除所有空格和换行)

curl -X GET https://www.baidu.com

POST请求参数:-d (--data)

“-d” 参数用来指定POST请求的请求体,全参数是 “--data”,用法如下,放在哪个位置没有限制

POST请求方式传入form参数:(接口接受两个参数,name和age,并以json键值对的方式返回结果)

curl -X POST http://localhost:8080/param -d 'name=jack&age=20'

POST请求方式传入body参数:(接口接受一个json格式的body请求体,并直接返回此json对象) 单引号内的内容可换行输入

curl -X POST http://localhost:8080/edit -H 'Content-Type:application/json;charset=utf-8' -d '{"name":"Jack","age":"20"}'

提交Form表单数据:-F

"-F"参数用来提交form表单数据,也可以用来作为上传文件操作:

curl -X POST http://localhost:8080/upload -F file=@d:\image.jpg -v

设置请求头:-H

"-H" 参数用来手动设置请求头,多个请求头使用多个“-H”来设置用法如下:

curl -X POST http://localhost:8080/hello -H 'Cache-Control:no-cache'

纯粹模式(隐藏额外的输出):-s > 前面的请求每一次请求完之后,curl都给我们输出了一个统计数据,有时候我们只是想测试api接口,只想看到纯粹的结果,就需要用到“-s”参数了:

curl -X POST http://localhost:8080/edit -H 'Content-Type:application/json;charset=utf-8' -d '{"name":"Jack","age":"20"}' -s

显示更多信息(有时候要隐藏,有时候需要显示):"-v", "-i", "-#"

有时候我们需要进行调试,或者查看更多的请求和响应内容,或者使用curl下载文件时想要显示进度条,这个时候,如下命令就派上用场了

显示完整请求和响应信息:-v

curl -X GET http://localhost:8080/hello -v

仅显示响应内容:-i

curl -X GET http://localhost:8080/hello -i

显示进度条(在命令行以‘#’显示下载进度):-#

curl -X GET http://mirrors.163.com/centos/8.1.1911/isos/x86_64/CentOS-8.1.1911-x86_64-dvd1.iso -o 'CentOS-8.1.1911.iso' -# -v

将响应输出到文件(上面显示进度条的介绍中就是用了-o来将响应内容输出到文件): -o

curl -X GET http://localhost:8080/hello -o response.txt

等价于

curl -X GET http://localhost:8080/hello >> response.txt

结语

大概的使用就到这里吧,已经涵盖了我平时测试接口的大部分内容了。更多的,请参见“curl://”工具的文档吧,上面有详细的使用方法和demo可供参考。也可以使用命令

curl --help

来查看命令行的简单帮助

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: curl GET 请求传递参数的方法是在 URL 后面添加 ?key1=value1&key2=value2... 的形式。例如: ``` curl http://example.com/api?param1=value1&param2=value2 ``` 也可以使用 -G 选项来代替 ? 。例如: ``` curl -G http://example.com/api --data-urlencode "param1=value1" --data-urlencode "param2=value2" ``` ### 回答2: Curl是一个非常强大的命令行工具,它能够模拟用户发送请求,可以发送各种不同类型的请求,包括GET请求POST请求。 当我们需要向服务器传递参数时,我们可以使用curl来GET请求传递参数。 GET请求是最常见的一种请求类型,它可以在URL中增加查询参数来向服务器传递参数。 在使用curl发送GET请求时,我们可以使用“-G”选项来指定请求类型,并在请求链接中指定查询参数。 例如,假设我们要向服务器传递一个名为“name”的参数,它的值为“John”,我们可以使用以下curl命令: curl -G 'http://www.example.com/api' --data-urlencode 'name=John' 在上面的命令中,“-G”选项指定请求类型为GET请求,“http://www.example.com/api”是请求链接,参数“name=John”是我们要传递的查询参数, “--data-urlencode”选项用于将参数编码为URL格式。 我们还可以传递多个参数,在curl命令中为每个参数键值对添加一个“--data-urlencode”选项: curl -G 'http://www.example.com/api' --data-urlencode 'name=John' --data-urlencode 'age=25' 这将传递两个参数,“name”键的值为“John”,“age”键的值为“25”。 在使用curl GET请求传递参数时,我们还可以在URL中添加查询参数。 只需在URL中添加“?”和参数名称及其值即可: curl 'http://www.example.com/api?name=John' 以上是使用curl GET请求传递参数的方法,查询参数可以用于向服务器传递参数,HTTP查询字符串应该是URL中的组成部分,包含参数名称和值,如“name=John”和“age=25”。 无论使用查询参数还是URL中添加参数,curl都可以很方便地向服务器传递参数,实现不同场景下的需求。 ### 回答3: curl是一个功能强大的命令行工具,用于向服务器发送请求发送请求时,我们有时需要传递一些参数,例如查询字符串、表单数据等。下面是有关curl get请求传递参数的一些详细信息。 1. 通过URL传递参数 使用curl发送GET请求时,可以在URL中添加查询字符串传递参数。例如: ``` curl https://www.example.com/api?name=test&age=20 ``` 在上面的命令中,我们向`https://www.example.com/api`发送了一个GET请求,并传递了两个参数,即`name`和`age`。这些参数使用`&`符号分隔,并以`key=value`的形式出现。 2. 通过--data传递参数 如果需要发送表单数据或其他类型的数据,我们可以使用--data选项将它们传递给服务器。例如: ``` curl --request GET --data "name=test&age=20" https://www.example.com/api ``` 在上面的命令中,我们使用--request选项指定请求方法为GET,并使用--data选项将参数作为表单数据传递给服务器。 3. URL编码参数 在向服务器发送带有特殊字符的参数时,我们需要对其进行编码,以避免可能的错误。例如,如果参数包含空格、%符号或其他特殊字符,则需要对其进行编码。可以使用curl的--data-urlencode选项对参数进行URL编码。例如: ``` curl --request GET --data-urlencode "name=John Doe" https://www.example.com/api ``` 在上面的命令中,我们使用--data-urlencode选项对参数进行URL编码,并将其作为表单数据传递给服务器。这里的参数是"John Doe",该参数在传递时会被编码为"John%20Doe"。 通过上述方法,我们可以使用curl get请求传递参数。注意,在发送请求时,我们需要根据服务器端的要求选择正确的方法和正确的参数传递方式。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值