使用cURL传递帖子数据需要输入的名称。但是,我想知道如果输入没有分配名称,你怎么能这样做?
curl -d "user=foobar&pass=12345&id=blablabla&ding=submit" http://www.formpost.com/getthis/post.cgi
答案 0 :(得分:2)
有一个选项CURLOPT_POSTFIELDS
。它允许您将POST数据设置为关联数组或字符串。因此,您需要使用后一种选择。
答案 1 :(得分:-1)
你没有。 GET查询和POST数据都以name=value
形式出现。唯一的例外是如果您将表单的提交编码更改为enctype="multipart/form-data"
,因为您有文件上传控件。
有关详细信息,请参阅http://www.cs.tut.fi/~jkorpela/forms/file.html#enctype:
HTML规范为
enctype
定义了两个可能的值:
enctype="application/x-www-form-urlencoded"
(默认)
这意味着一个简单的编码,它将字段显示为由&符号(name=value
)分隔的&
字符串,并对字符使用一些特殊的“转义”机制,例如%28
表示“(”字符)如果人们试图阅读它会让人感到困惑 - 它本来是由程序处理的,而不是人类直接读取的!<强>
enctype="multipart/form-data"
强>
这意味着对表单数据集进行编码,以便每个表单字段(更确切地说,每个“控件”)以适合该字段的格式呈现,并且数据集作为整体是包含这些表示作为其组件的多部分消息。这对于“普通”表单来说是浪费的,但对于包含文件字段的表单来说,这是恰当的,甚至是唯一可行的方法。多部分结构意味着每个文件都在一个更大的包中包含一个漂亮的“包”,在内部“包”上有一个合适的“标签”(内容类型信息)。这种类型最初在RFC 1867中定义,但它也被讨论在RFC 2388中(稍后参见RFC上的说明)。