Warum twittern XML-Entity-Referenzen doppelt codieren?Twitter-Double-Encode-Entity-Referenzen?
Hier ist ein Beispiel Tweet:
xml entity ref test < & '
Die Antwort von Status/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>
sollte es nicht
< & '
ich, hier haben einige mehr getestet werden, was passiert in der http-Post, um das Update zu senden:
sniff wieder < & '
Post-Daten:
authenticity_token=secret_sauce_removed&status=sniff+again+%3C+%26+'&twttr=true&return_rendered_status=true
Ich habe Justins Beobachtung bestätigt, dass < nur> doppelt codiert ist. Erste Zeile ist die XML-Antwort, 2. Zeile JSON.
<text>" & ' &lt; &gt;</text>
"text":"\" & ' < >"
Twitter Dokumentation sagt: "entkommen und HTML-Status Körper codiert", denke ich entkam bedeutet XML-Codierung <>.
Aber ich verstehe immer noch nicht, warum sie es tun. Keine Webseiten sind in den gesamten Prozess involviert. Der Tweet wird über die Rest-URL-URL gesendet und als xml oder json abgerufen.
Gibt es eine Möglichkeit, Twitter davon abzuhalten, dies zu tun? Sag, mein Status ist V% C3% A6rdibevis (das ist Dänisch). Twitter akzeptiert dies als V% 25C3% 25A6rdibevis das ist wirklich! @ # Nervig;) –