cURL是一个利用URL语法在命令行下工作的文件传输工具,1997年首次发行。它支持文件上传和下载,所以是综合传输工具,但按传统,习惯称cURL为下载工具。cURL还包含了用于程序开发的libcurl。
(来自百度)
在某些受限的情况(比如本地机器无法与目标ip连通)下无法使用 postman 等可视化工具发送网络请求,此时可以使用curl工具代替
@Slf4j
@Controller
public class TestController {
@RequestMapping(value = "/getTest",method = RequestMethod.GET)
public String getTest(){
return "get test";
}
}
curl -X GET 127.0.0.1:8080/getTest
简写:
curl 127.0.0.1:8080/getTest
@Slf4j
@Controller
public class TestController {
@RequestMapping(value = "/postTest", method = RequestMethod.POST)
public String postTest(Map params) {
System.out.println(params);
return "post req:" + params;
}
}
-H 表示设置head值
curl -H "Content-Type: application/json" -X POST -d '{"name":"aaa","address":"guangdong"}' 127.0.1.1:8080/postTest
如果请求参数过长,可以先将参数放入文件中:
然后使用如下命令:
curl -H "Content-Type: application/json" -X POST -d @param.json 127.0.1.1:8080/postTest
curl -F "file=@param.json" 127.0.1.1:8080/upload
注释:
-F “”:将会以multipart/form-data发送POST数据;如果是发送文件的话,需要在参数前面加@
如果无法在本地机器调用服务器上传接口(内部接口没有对外暴露,无法使用postman),但可以登录服务器,则可以先使用
rz 命令将文件上传到服务器,然后再通过以上 curl 命令调用服务器文件上传接口
例如,服务端有三个参数:
@UploadFile MultipartFile file
@FormParam long id
@FormParam String name
通过postman工具可以这样调用:
通过CURL工具命令为:
curl -F "file=@param.json" -F "id=99" -F "name=fff" 127.0.1.1:8080/upload
待续。。。。。