Ich baue einen Webserver mit Tornado. Sie können Schlüsselwörter suchen und Antwort vom Server erhalten.
Python Tornado: kodieren und entschlüsseln über URL
Benutzer kann jedes Wort wie Chinesisch oder Japanisch eingeben, also weiß ich, dass ich UTF-8 verwenden sollte.
Hier ist meine Kern-Code:
class SearchHandler(tornado.web.RequestHandler):
def get(self, path):
try:
print(self.get_argument('key'))
print(urllib.parse.unquote(self.get_argument('key'))
val = urllib.parse.unquote(self.get_argument('key'))
...
...
Lassen Sie uns jetzt sagen, dass ein Benutzer ein chinesisches Wort gesucht: 泰国
Die beiden print
wird das Ergebnis geben Sie mir wie folgt:
%E6%B3%B0%E5%9B%BD
泰国
Im Backend-Teil verwende ich 泰国
.
Für jetzt ist alles in Ordnung.
Heute habe ich einige seltsame Worte in meinem Log finden: country-cn.html?æ³°å½content
Dann ist es ich es in meinem Browser zu kopieren, zu zeigen, wie es aussieht: Aber
, sende ich die Protokolldatei zu einem Windows und öffnen Sie es als txt
, es zeigt ein chinesisches Wort: 泰国.
Ich bin jetzt total verwirrt. Ich benutze meinen PC (Mac OS) und gebe 泰国
ein, um meinen Webserver zu besuchen, alles ist in Ordnung. Aber es scheint, dass irgendein Typ versuchte, das gleiche chinesische Wort mit einer speziellen Kodierungsweise zu suchen, die ich nicht kenne, also konnte ich es nicht entschlüsseln.