curl - 在 url 中增加一个数字以使用 curl 同时发出请求
问题描述
这是我当前的 curl 请求。我试图弄清楚如何将“详细信息”值增加 1(因此下一个请求将是 0000002 等等)。我希望它循环遍历 1000 个值,然后将对每个请求的响应输出到文本文件。任何帮助将不胜感激!
curl "https://webapi.xxx.com/api/getthisdetails?details=0000001" -H "用户代理:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0" -H "接受: application/json, text/javascript, / ; q=0.01" -H "接受语言: en-US,en;q=0.5" -H "内容类型: application/x-www-form -urlencoded; charset=UTF-8" -H"授权:承载xxxxxxxxxxxxxxxxx" -H"来源:https://www.xxxxxx.com" -H"连接:keep-alive" -H"引用者:https:// www.xxxxxxx.com/" -H "Pragma: no-cache" -H "Cache-Control: no-cache"
解决方案
curl 可以自行迭代它们。通过避免 shell 循环,您将让 curl 重用连接:
curl "https://webapi.xxx.com/api/getthisdetails?details=[0000001-0001000]" -o file_#1 [the other headers]
并不是输出#1
中的-o
将使用括号内的完整数字,从 0000001 开始。
平行
上面的命令行将以串行的方式执行所有请求,一个接一个。如果您想改为并行执行它们,请添加--parallel
到命令行,curl 将同时执行多达 50 个(默认情况下,可以更改)传输。
--parallel 添加到 curl 7.66.0
推荐阅读
- sql - SQL 中的累积队列
- python - 检查 dict 是否获得连续的增量计数器
- spring-boot - 有没有办法在一个地方记录所有@ExceptionHandler 的异常
- powershell - 使用 PowerShell 通过 VPN 发现所有有效 IP
- sed - GNU sed 长替换
- docker - 尝试使用我在 Docker 中构建的映像在 Kubernetes 中部署 Jenkins 时出现 CreateContainerError
- android - MotionLayout 中的 ConstraintSets 没有复制粘贴属性
- java - Intellij 无法读取资源子文件夹中的图像
- powershell - powershell 从类型目录中选择所有对象
- c# - 版本高于项目的Mysql(C# WPF)