求问 Python 如何进行全部字符的 URL 编码?

2017-04-05 18:09:22 +08:00
 fnmsd
比如 admin 在用 urllib 的 quote 时还是 admin ,希望能够对非特殊字符也进行 URL 编码,变为%61%64%6D%69%6E

Google 的好半天没有查到,求高手解答!
2723 次点击
所在节点    Python
11 条回复
Kisesy
2017-04-05 18:18:44 +08:00
你抄一下官方库代码, 自己写个函数把这个限制去掉不就好了, 就几句代码
ldbC5uTBj11yaeh5
2017-04-05 18:22:26 +08:00
re.sub(r'.', lambda m: '%%%s' % m.group(0).encode('hex').upper(), 'admin')
Kisesy
2017-04-05 18:25:35 +08:00
a = b'admin'
b = ''.join('%{:02X}'.format(x) for x in a)
print(b)
Luckyray
2017-04-05 18:34:22 +08:00
对英文字符也编码的好处或者用处是啥?
lrxiao
2017-04-05 19:43:30 +08:00
urllib2.quote
glasslion
2017-04-05 22:07:44 +08:00
admin ? 你该不会是想通过 url encode 的方式 来搞 sql 防注入之类的 东东吧? 慎之。
fnmsd
2017-04-06 17:20:55 +08:00
@Kisesy 感谢~懒得自己改了,想看看有没有直接能用的,我在 python2.7 中试 format 里的 x 还需要加 ord~
fnmsd
2017-04-06 17:22:09 +08:00
@jigloo 学习了~re 的 sub 还可以这么用
fnmsd
2017-04-06 17:22:29 +08:00
@jigloo 感谢~
fnmsd
2017-04-06 17:23:13 +08:00
@lrxiao 是完全 URL 编码, quote 只编码影响 URL 的特殊字符
fnmsd
2017-04-06 17:24:49 +08:00
@Luckyray 测试用途
@glasslion 当然不是 绕过注入防护还差不多~

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/352723

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX