【发布时间】:2010-11-05 09:01:21
【问题描述】:
为什么 twitter 对 XML 实体引用进行双重编码?
这是一条推文示例:
xml entity ref test < & '
来自 statuses/friends_timeline 的回复:
<status>
<created_at>Wed Jun 24 00:16:15 +0000 2009</created_at>
<id>2302770346</id>
<text>xml entity ref test &lt; & '</text>
<source>web</source>
<truncated>false</truncated>
不应该吗
< & '
我做了更多测试,以下是发送更新的 http 帖子中发生的情况:
再闻一闻
发布数据:
authenticity_token=secret_sauce_removed&status=sniff+again+%3C+%26+'&twttr=true&return_rendered_status=true
我已经证实了 Justin 的观察,即只有 是双重编码的。第一行是 xml 响应,第二行是 json。
<text>" & ' &lt; &gt;</text>
"text":"\" & ' < >"
Twitter 文档说“转义和 HTML 编码的状态正文”,我猜转义意味着 xml 编码 。
但我仍然不明白他们为什么要这样做。整个过程不涉及网页。推文通过 url 编码的其余 API 发送,并以 xml 或 json 形式检索。
【问题讨论】:
标签: twitter