从 HTTP 转义 Python 字符串

2022-01-11 00:00:00 python http urllib2 header mod-wsgi

问题描述

我从 HTTP 标头中获得了一个字符串,但它已被转义.. 我可以使用什么函数来取消转义它?

I've got a string from an HTTP header, but it's been escaped.. what function can I use to unescape it?

myemail%40gmail.com -> myemail@gmail.com

urllib.unquote() 会是正确的方法吗?

Would urllib.unquote() be the way to go?


解决方案

我很确定 urllib 的 unquote 是这样做的常用方法.

I am pretty sure that urllib's unquote is the common way of doing this.

>>> import urllib
>>> urllib.unquote("myemail%40gmail.com")
'myemail@gmail.com'

还有unquote_plus:

与 unquote() 类似,但也将加号替换为空格,这是取消引用 HTML 表单值的要求.

Like unquote(), but also replaces plus signs by spaces, as required for unquoting HTML form values.

相关文章