curl常用方法

简介: curl常用方法

有时候经常会需要在本地模拟接口访问,有时候会使用GET,但是有时候会使用POST。这时候就会想到一个简便的工具:curl


curl格式:curl  -H  请求头  -d  请求体  -X  POST  接口地址


参数 内容 格式
-H(或者--header) 请求头 "Content-Type:application/json"
-d POST内容 '{"user": "admin", "passwd":"12345678"}'
-X 请求协议 POST、GET、DELETE、PUT、PUSH、OPTIONS、HEAD


以下列举几种工作中比较常用的curl命令方法:


1、application/x-www-form-urlencoded


最常见的一种 POST 请求,用 curl 发起这种请求也很简单。


$ curl  -X POST -d 'name=allenjol'  http://www.ayunw.cn:2000/api/user
$ curl http://www.ayunw.cn:2000/login -H "Content-Type:application/json" -X POST -d '{"user": "admin", "passwd":"12345678"}'


-H 表示指定内容发送


2、application/json


跟发起 application/x-www-form-urlencoded 类型的 POST 请求类似,-d 参数值是 JSON 字符串,并且多了一个 Content-Type: application/json 指定发送内容的格式。


$ curl -H "Content-Type: application/json" -X POST -d '{"id": "001", "name":"allenjol", "phone":"15188888888"}'  http://ayunw.cn:2000/api/json


3、multipart/form-data


这种请求一般涉及到文件上传。后端对这种类型请求的处理也复杂一些。


$ curl -F raw=@data.json -F name=allenjol http://www.ayunw.cn:2000/api/multipart


4、把文件内容作为要提交的数据


如果要提交的数据不像前面例子中只有一个 name: allenjol 键值对,数据比较多,都写在命令行里很不方便,也容易出错,那么可以把数据内容先写到文件里,通过 -d @filename 的方式来提交数据。这是 -d 参数的一种使用方式,所以前面用到 -d 参数的地方都可以这样用。


实际上就是把 -d 参数值写在命令行里,变成了写在文件里。跟 multipart/form-data 中上传文件的 POST 方式不是一回事。@ 符号表明后面跟的是文件名,要读取这个文件的内容作为 -d 的参数。


例如,有一个 JSON 文件 data.json 内容如下:


{"id": "001", "name":"allenjol", "phone":"15188888888"}


就可以通过以下命令来提交数据。


$ curl -H "Content-Type: application/json" -X POST -d @data.json  http://www.ayunw.cn:2000/api/json


5、curl使用GET请求的时候带上用户名密码鉴权:


curl -X GET -u username:password


这个是访问nacos的例子。如果说不带上-u参数则会出现403 forbidden,因为权限被拒绝访问


curl -I -X GET -u allenjol:allen#jol2020 "http://www.ayunw.cn:2000/api/config?dataId=default.json&group=default"


假设目标url 为:127.0.0.1:8080/login

使用curl发送GET请求格式:


curl protocol://address:port/url?args


带用户名密码参数的访问:


curl http://127.0.0.1:8080/login?admin&passwd=12345678


使用curl发送POST请求格式:


curl -d "args" protocol://address:port/url
curl -d "user=admin&passwd=12345678" http://127.0.0.1:8080/login
相关文章
|
4月前
|
API 数据处理 数据安全/隐私保护
curl基础用法
curl基础用法
|
JSON 网络协议 数据格式
curl常用参数详解及示例
curl是一个开源的命令行工具,它基于网络协议,对指定URL进行网络传输,得到数据后不任何具体处理(如:html的渲染等),直接显示在"标准输出"(stdout)上。
3080 0
|
5月前
|
安全 网络协议
curl使用小记(四)——在多线程中使用的问题总结
curl使用小记(四)——在多线程中使用的问题总结
309 0
|
数据采集 中间件 开发者
如何使用 scrapy.Request.from_curl() 方法将 cURL 命令转换为 Scrapy 请求
我们可能需要将 cURL 命令转换为 Scrapy 请求,以便在 Scrapy 中使用 cURL 的功能。例如,我们可能想要使用 cURL 的代理设置、头部信息、表单数据等。这时候,我们可以使用 scrapy.Request.from_curl() 方法来实现这个转换。
171 0
如何使用 scrapy.Request.from_curl() 方法将 cURL 命令转换为 Scrapy 请求
|
PHP
php使用CURL模拟POST请求函数
php使用CURL模拟POST请求函数
134 0
|
JSON 缓存 网络协议
curl的HTTP参数速查表
curl是一个开源的命令行工具,它基于网络协议,对指定URL进行网络传输,得到数据后不任何具体处理(如:html的渲染等),直接显示在"标准输出"(stdout)上。 curl的参数也有很多,以下主要介绍HTTP和HTTPS相关的参数,建议收藏保存。
806 0
|
JSON Java 数据格式
Postman简单用法以及转cURL等命令的正确姿势
Postman简单用法以及转cURL等命令的正确姿势
847 0
|
Linux 网络安全 安全
Linux命令参数详细解析-curl
Usage: curl [options...] Options: (H) means HTTP/HTTPS only, (F) means FTP only --anyauth Pick "any" authentication me...
1143 0