有一个表单here,当使用两个子选择之一选择“Dst Output”按钮时,提交后将返回一个
.dat
文件(在本例中只是一个文本文件)(我正在使用“类似 IAGA2002 的格式”)。还必须填写各种“开始年份”和“结束年份”字段(我知道,这种形式很奇怪)。我已经浏览了很多关于如何将 cURL 与表单一起使用的不同帖子和答案,但我很难理解它实际上如何适用于这样的表单;我想事情不会那么复杂。
我找到了如何做到这一点,部分基于对问题本身的评论中的建议以及我自己的搜索结果。
使用 Chromium,我打开 DevTools 并转到网络选项卡,然后我在网站上提交了表单,该表单在那里显示为请求;我右键单击它并选择
Copy -> Copy as cURL
。这给了我一个可以使用的 cURL 命令,尽管我发现我可以安全地删除所有包含浏览器数据等的标头,而不会影响任何内容。
它返回一个小的 HTML 页面,其中有一个自动重定向到的链接,因此我在 cURL 命令中使用了
-L
标志,并得到了我想要的输出。最后,我简单地附加 -o filename.txt
将其保存到具有所选文件名的文本文件中。
最终我使用的命令如下:
curl -L 'https://wdc.kugi.kyoto-u.ac.jp/cgi-bin/dstae-cgi?SCent=20&STens=1&SYear=5&SMonth=01&ECent=20&ETens=2&EYear=9&EMonth=12&Image+Type=GIF&COLOR=COLOR&AE+Sensitivity=0&Dst+Sensitivity=0&Output=DST&Out+format=IAGA2002' -o filename.txt