许多语言允许通过url传递值数组。出于各种原因,我需要手动直接构建url。 urlencoded的值数组如何?
答案 0 :(得分:3)
它看起来像MIME-Type形式的内容:application/x-www-form-urlencoded
。
这是默认内容类型。使用此内容类型提交的表单必须按如下方式编码:
- 转义控件名称和值。空格字符由
+
替换,然后保留字符按照[RFC1738]第2.2节中的描述进行转义:非字母数字字符由%HH
替换,百分号和两个代表ASCII的十六进制数字角色的代码。换行符表示为“CR LF”对(即%0D%0A
)。- 控件名称/值按它们在文档中出现的顺序列出。该名称与值
醇>=
分开,名称/值对由&
分隔。
用于POST。要为GET执行此操作,您必须在URL之后附加?
,其余几乎相同。在评论中,mdma声明,URL可能不包含空格字符的+
。而是使用%20
。
这是一组值:
http://localhost/someapp/?0=zero&1=valueone%20withspace&2=etc&3=etc
库中通常会有一些功能可以为您进行URL编码(第1点)。通过循环遍历数组,构建字符串,附加索引=
,URL编码值以及何时不是最后一个&
条目,可以轻松实现第二点。