curl 接口调用工具

「爱情、让人受尽委屈。」 2024-02-29 07:42 126阅读 0赞

后端接口开发完成,你还在为等待前端而无法调试吗?

今天分享一个小工具,curl,一个命令行文件传输工具。可用于大家平常开发的接口调用测试。

它支持文件的上传和下载,支持包括HTTP、HTTPS、ftp等众多协议,还支持POST、cookies、认证等特征。

curl命令语法:

  • curl [options…]

① 基本用法
  • curl -X GET/POST

注意,此处url前后需加双引号

  • @RestController @Slf4j public class CurlController { @GetMapping(“test-get”) public ResultInfo testGet(String name, String age) { log.info(“get params : name {}, age {}”, name, age); return ResultInfo.success(); } }

请求调用如下:

  • curl -X GET “http://localhost:12000/server/test-get?name=name1&age=12“

图片

POST:

  • @PostMapping(“test-post”) public ResultInfo testPost(String name, String age) { log.info(“get params : name {}, age {}”, name, age); return ResultInfo.success(“test post response”); }

请求调用:

  • curl -X POST “http://localhost:12000/server/test-post?name=name1&age=12“

图片

②请求体携带参数
  • -d 或者 —datacurl -X GET/POST -d “{}”

注意,此处数据前后需要加双引号

  • @PostMapping(“test-post-with-data”) @ResponseBody public ResultInfo testPostWithData(@RequestBody User user) { log.info(“get user {}”, user); return ResultInfo.success(user); }

请求路径:

  • curl -X POST “http://localhost:12000/server/test-post-with-data"-H “Content-Type: application/json” -d “{“name”:”postName”, “age”:23}”

图片

③携带请求头信息
  • -H 或者 —header ,其后可以添加请求头信息,比如 Content-Type、session 等curl -X GET/POST -H “”

例如:

  • curl -X POST “http://localhost:12000/server/test-post-with-data“ -H “Content-Type: application/json”curl -X POST “http://localhost:12000/server/test-post-with-data“ -H “session: XXXXXXXXXXXX”

  • -b 或者 —cookie 添加cookie到请求头curl -X POST —cookie “SESSION=XXXXXXXXXXXXXXX”

⑤下载文件
  • -o 或者 —output 下载文件到本地filecurl -X POST “http://localhost:12000/server/test-download“ -o “D:/home/test.xls”

  • @PostMapping(“download”) public void download(HttpServletResponse response) throws IOException { Workbook workbook = new HSSFWorkbook(); Sheet sheet= workbook.createSheet(); Row row = sheet.createRow(0); Cell cell = row.createCell(0); cell.setCellValue(“test excel”); workbook.write(response.getOutputStream()); }

图片

调用:

  • curl -X POST “http://localhost:12000/server/download“ -o “D:/home/test.xls”

图片

图片

⑥上传文件
  • -F 或者 —form 上传文件到服务器,服务器端需要用name来接收curl -X POST “http://localhost:12000/server/test-upload“ -F “file=@D:/home/test.xls”

注意,此处可通过指定filename指定服务器端接收的文件名

  • file=@D:/home/test.xls;filename=myexcel.xls 将本地D:/home/test.xls文件上传到服务器,服务器用file变量接收,file的getOriginalFilename()获取的文件名为myexcel.xls

  • @PostMapping(“upload”) public ResultInfo upload(MultipartFile testFile) throws IOException { Workbook workbook = new HSSFWorkbook(testFile.getInputStream()); Cell cell = workbook.getSheetAt(0).getRow(0).getCell(0); return ResultInfo.success(“get fileName: “ +testFile.getOriginalFilename() + “, first cell is << “ + cell.getStringCellValue() + “>>”); }

请求:

  • curl -X POST “http://localhost:12000/server/upload“ -F “testFile=@D:/home/test.xls;filename=ttt.xlsx”

图片

以上基本能满足基础使用,更多使用命令可参考:

curl —help

发表评论

表情:
评论列表 (有 0 条评论,126人围观)

还没有评论,来说两句吧...

相关阅读

    相关 使用curl请求接口

    当没有接口工具调用服务时, 可以通过curl命令来请求服务以获取结果或检测接口是否可用.  参数: \-H : 指定请求头, 或者指定请求头里面的参数, 可以有多个该参数