数组如何获得urlencoded?

时间:2010-06-04 00:57:41

标签: http cgi

许多语言允许通过url传递值数组。出于各种原因,我需要手动直接构建url。 urlencoded的值数组如何?

1 个答案:

答案 0 :(得分:3)

它看起来像MIME-Type形式的内容:application/x-www-form-urlencoded

  

这是默认内容类型。使用此内容类型提交的表单必须按如下方式编码:

     
      
  1. 转义控件名称和值。空格字符由+替换,然后保留字符按照[RFC1738]第2.2节中的描述进行转义:非字母数字字符由%HH替换,百分号和两个代表ASCII的十六进制数字角色的代码。换行符表示为“CR LF”对(即%0D%0A)。
  2.   
  3. 控件名称/值按它们在文档中出现的顺序列出。该名称与值=分开,名称/值对由&分隔。
  4.   

用于POST。要为GET执行此操作,您必须在URL之后附加?,其余几乎相同。在评论中,mdma声明,URL可能不包含空格字符的+。而是使用%20

这是一组值:

http://localhost/someapp/?0=zero&1=valueone%20withspace&2=etc&3=etc

库中通常会有一些功能可以为您进行URL编码(第1点)。通过循环遍历数组,构建字符串,附加索引=,URL编码值以及何时不是最后一个&条目,可以轻松实现第二点。