如何在没有输入名称值的情况下过去发布数据?

时间:2009-10-31 08:04:44

标签: php post curl

使用cURL传递帖子数据需要输入的名称。但是,我想知道如果输入没有分配名称,你怎么能这样做?

curl -d "user=foobar&pass=12345&id=blablabla&ding=submit" http://www.formpost.com/getthis/post.cgi

2 个答案:

答案 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上的说明)。