通过curl语句下载文件
背景:
页面上有导出功能,但做了数目限制,如果把条件拆细,再去做导出,不是不行,只是这样的话,很耗费人力。
所以通过写个脚本,通过遍历参数的方式,调用导出接口,并把文件放到指定路径下。
以下例子,参数是 precinctids, 表示很多个区域,各个区域用空格隔开,
一个区域一个文件
这里要注意的一些地方:
(1)参数入参时, --date 要用双引号,当使用单引号时,它不会对参数进行解析
(2)当接口返回的数据流时,需要使用 curl -o "存在数据文件的绝对路径" ..... 这里需要带上 “-o” 这个参数,不然它也会提示。。
其它没什么需要注意的了,和普通的 curl 语句差不多。写个脚本,备用。
#!/bin/bash # 将输入的参数(预期为空格分隔的precinctId列表)转换为bash数组 precinctIds=(01-01 01-02) # 遍历precinctId数组 for precinctId in "${precinctIds[@]}"; do # 构建输出文件名 output_filename="/tmp/data-export/demo_${precinctId}.xlsx" # 执行curl命令 curl -o "$output_filename" --request POST \ --url 'http://10.1.5.24:8080/v1/precincts/downLoad' \ --header 'Accept: */*' \ ## 省略了部分header --data "{ \"precinctId\": \"${precinctId}\", ## 这里要用双引号,并用\,如果用单引号的话,参数会解析不出来。 ... }" # 检查上一个命令的退出状态,如果不为0(表示失败),则打印错误信息 if [ $? -ne 0 ]; then echo "Error downloading: $precinctId" fi done # 所有下载完成后,打印“输出完毕” echo "输出完毕"
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南