如何使用cURL提交此表单并获取结果数据?

问题描述 投票:0回答:1

有一个表单here,当使用两个子选择之一选择“Dst Output”按钮时,提交后将返回一个

.dat
文件(在本例中只是一个文本文件)(我正在使用“类似 IAGA2002 的格式”)。还必须填写各种“开始年份”和“结束年份”字段(我知道,这种形式很奇怪)。我已经浏览了很多关于如何将 cURL 与表单一起使用的不同帖子和答案,但我很难理解它实际上如何适用于这样的表单;我想事情不会那么复杂。

forms http curl request get
1个回答
0
投票

我找到了如何做到这一点,部分基于对问题本身的评论中的建议以及我自己的搜索结果。

使用 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

© www.soinside.com 2019 - 2024. All rights reserved.