【发布时间】:2020-03-22 20:44:16
【问题描述】:
我想在网页上填写表格以通过命令行而不是使用浏览器发送一些文件。我发现 cURL 可以为我做到这一点,但我不知道怎么做。除此之外,我发现每个请求的“authenticity_token”更改。如何成功验证和发布我的文件?
我剥离了 html 代码以仅显示输入,见下文。感谢您的观看。
<form action="https://XXXXXXXX.com/aspera/faspex/test/dropbox_submissions" class="well form-horizontal form-horizontal-small-labels" id="send" method="post"><div style="margin:0;padding:0;display:inline"><input name="authenticity_token" type="hidden" value="cU/zhZKnbjk90v57Phmdgewq97lKclj63MtzfCHhEqc=" /></div>
<input id="dropbox_id" name="dropbox[id]" type="hidden" value="738" />
<input id="passcode" name="passcode" type="hidden" value="1738d1bc02755019655dd424Xf2717f1c8a7c579" />
<input id="delivery_title" maxlength="100" name="delivery[title]" size="100" type="text" value="" />
<input id="fileupload" multiple="multiple" name="file" type="file" />
<input id="delivery_source_paths_list" name="delivery[source_paths_list]" type="hidden" />
<input class="btn large primary" data-prompt_password="true" disabled="disabled" id="send_button" name="commit" type="submit" value="Send Package" />
<label>Passphrase:</label>
<input autocomplete="off" id="password" type="password" />
<label>Confirmation:</label>
<input autocomplete="off" id="password_confirmation" type="password" />
</form>
【问题讨论】:
-
因此,您的问题中描述了一个带有表单的网站,您正试图通过从您自己的应用程序发送 POST 请求来实现这一点。这是你想要做的吗?
-
是的,基本上就是这样。但我想,它会比这更复杂。在浏览器中,当我单击“提交”时,它实际上会触发一个外部应用程序 (Aspera Connect) 来启动文件传输。所以我猜网站上一定有一些javascript在运行。我想要实现的是:我不想在浏览器中打开网站,填写表格并提交,我想在查找器中选择一些文件,用相应的路径填写表格并启动传输。
-
在您的应用程序中使用 iframe 怎么样?
-
我不想手动填写表格,因为大多数字段保持不变,只需要填写要发布的文件。这应该是当前在 Mac 上的 finder 中选择的文件。