自动化 https 请求的最简单方法
Easiest way to automate https requests
我需要将大量请求自动提交到基于云的数据库接口 (Intelex)。没有任何方法可以批量提交某些操作,但是提交单个请求所必需的是让经过身份验证的用户尝试打开网络 link。因此,要恢复具有给定 GUID 的记录,我需要做的就是打开页面“https://.../restore/[GUID]”。该网页将加载并显示现在恢复的记录,但实际上我什至不需要它来完成加载 - 只需请求该页面就足以让服务器执行操作。如果我发送得太快,我预计服务器会把我踢出去或放弃一些请求,但它处理它们的速度没有问题,因为我可以在新的浏览器选项卡中导航和打开 links (大约每秒 1 个)。
针对几千个网址提交这些请求的最简单方法是什么?
我在这里看到了几种方法。每一个都非常简单。
将 URL 的可变部分存储在文件中。然后使用 CURL 之类的工具,并使用您在每次迭代中构建的 URL 循环调用 CURL 的文件内容。如果您使用的是 Linux,您可以执行类似 Looping through the content of a file in Bash, for Windows check this post: How do you loop through each line in a text file using a windows batch file?
的操作
使用 JMeter 工具 (jMeter loop through all values in CSV)。这甚至允许您并行化查询。
假设 guid.txt
包含:
[GUID]
[GUID]
[GUID]
:
[GUID]
那么你可以运行:
cat guid.txt | parallel --delay 1s wget https://.../restore/{}
要自动找到最佳 --delay
使用:
cat guid.txt |
parallel --retries 5 --delay 1sauto wget https://.../restore/{}
(需要 GNU 并行版本 20210122)。
我需要将大量请求自动提交到基于云的数据库接口 (Intelex)。没有任何方法可以批量提交某些操作,但是提交单个请求所必需的是让经过身份验证的用户尝试打开网络 link。因此,要恢复具有给定 GUID 的记录,我需要做的就是打开页面“https://.../restore/[GUID]”。该网页将加载并显示现在恢复的记录,但实际上我什至不需要它来完成加载 - 只需请求该页面就足以让服务器执行操作。如果我发送得太快,我预计服务器会把我踢出去或放弃一些请求,但它处理它们的速度没有问题,因为我可以在新的浏览器选项卡中导航和打开 links (大约每秒 1 个)。
针对几千个网址提交这些请求的最简单方法是什么?
我在这里看到了几种方法。每一个都非常简单。
将 URL 的可变部分存储在文件中。然后使用 CURL 之类的工具,并使用您在每次迭代中构建的 URL 循环调用 CURL 的文件内容。如果您使用的是 Linux,您可以执行类似 Looping through the content of a file in Bash, for Windows check this post: How do you loop through each line in a text file using a windows batch file?
的操作使用 JMeter 工具 (jMeter loop through all values in CSV)。这甚至允许您并行化查询。
假设 guid.txt
包含:
[GUID]
[GUID]
[GUID]
:
[GUID]
那么你可以运行:
cat guid.txt | parallel --delay 1s wget https://.../restore/{}
要自动找到最佳 --delay
使用:
cat guid.txt |
parallel --retries 5 --delay 1sauto wget https://.../restore/{}
(需要 GNU 并行版本 20210122)。