2010-04-01 60 views
5

我有一个宁静的web服务,它接收一些直接放入数据库的结构化数据。网址编码是/否?

使用wget从OS发送数据。我只是想知道我是否真的需要对数据进行URL编码,如果是的话,为什么?请注意,这样做不成问题,但在这种情况下可能是不必要的。

+0

我接受了下面的答案,但我仍然没有百分之一百确定是否需要对POST进行url编码数据!请求。谢谢。 – cs0815 2010-05-13 08:14:06

回答

4

如果您的数据中有不允许在url中使用的字符,则应对其进行网址编码。

以下字符被保留(如&),或只是提供了混淆代码的可能性。如果您的数据包含这些字符,请使用urlencode。请记住,如果您使用任何扩展的ascii字符,unicode字符或非可打印字符,则应对您的数据进行网址编码。

  • 美元( “$”)
  • 号( “& ”)
  • 加号(“ + ”)
  • 逗号(“, ”)
  • 斜杠(/)短斜线(“/” )
  • 冒号( “:”)
  • 分号( “;”)
  • 等于( “=”)
  • 问号( “?”)
  • '在' 符号( “@”)
  • 空间
  • 引号
  • '小于' 符号( “<”)
  • '大于' 符号( “>”)
  • '镑' 字符( “#”)
  • 百分号( “%”)
  • 左大括号( “{”)
  • 右大括号(” } “)
  • 竖线/管道(” | “)
  • 反斜杠(” \ “)
  • 插入符号(”^“)
  • 波浪号(” 〜 “)
  • 左方括号(” [ “)
  • 右方括号(”] “)
  • 重音符(”`“)

更多信息可以在这里找到:http://www.blooberry.com/indexdot/html/topics/urlencoding.htm

+0

发布数据(网络服务只接受发布)。所以它不会使用查询字符串,所以这个问题不存在,或者它没有?对不起,我不是HTTP专家。 – cs0815 2010-04-01 13:38:30

+0

即使它不在实际的url中,它仍然是请求的一部分,我相信推荐使用url编码。 – vfilby 2010-04-01 14:03:44

+0

vfilby仍然想知道为什么 - 虽然感到难过 – cs0815 2010-05-13 08:12:24