我希望能够使用wget(或等效curl)获取HTML表单提交的结果。而不是点击" .csv"在this control中:
我希望能够输入类似的内容:
% wget http://www.example.com/export?code1=1&code2=9999&format=csv
(或卷曲等效物)。我无法弄清楚如何将HTML + JavaScript转换为表单执行时提交的URL。它是一个GET,因此表单本身最终会生成一个URL,但我无法弄清楚它是如何构建的。
基本布局,包括我感兴趣的字段,是:
<form method="GET">
<input name="code1" type="text" value="">
<input name="code1" type="text" value="">
<button type="submit">Search</button>
<button type="button" aria-expanded="false">
Export <span class="caret"></span>
</button>
<ul class="dropdown-menu" role="menu">
<li><a href="#" rel="xlsx">.xlsx</a></li>
<li><a href="#" rel="xls">.xls</a></li>
<li><a href="#" rel="csv">.csv</a></li>
</ul>
</form>
我想撰写一个相当于填写code1
和code2
输入的网址,然后点击&#34; .csv&#34;下拉列表中的链接(<ul>
)。我不明白rel
属性的作用,以及它对构建的网址的贡献。
Here是包含原始代码的页面。相关表单位于包含&#34;搜索&#34;。
的框架中答案 0 :(得分:0)
如果您使用jQuery,那么您只需在表单上调用serialize()
即可。
否则,您必须自己构建字符串。您可以在此处找到所有详细信息:http://www.w3.org/TR/html4/interact/forms.html#h-17.13
简短版本是URL:
表单的“操作”,默认为当前文档URL,减去查询部分(?
及其后面的任何内容),当然还有片段({{1}以及随之而来的任何事情。)
#
?
格式的各个字段,以name=value
名称和值必须首先进行URL编码(这意味着用%xy序列替换相当多的东西,用+替换空格)