如何用Python 3.x实现Linux的URL编码和URL解码?

Python

1 前言

一个问题,一篇文章,一出故事。
笔者由于需要通过bash shell访问一台需要通过账号密码验证的http服务下载文件,所以需要进行URL编码,故整理此文。

2 实践部分

2.1 解决依赖关系

yum install -y python

2.2 实现URL编码转换

2.2.1 部署Pythonb编码转换

echo "alias urldecode='python3 -c \"import sys, urllib.parse as ul; print(ul.unquote_plus(sys.argv[1]))\"'" > /etc/profile.d/urlcode.sh
echo "alias urlencode='python3 -c \"import sys, urllib.parse as ul; print(ul.quote_plus(sys.argv[1]))\"'" >> /etc/profile.d/urlcode.sh
source /etc/profile

查看生成的命令别名:

cat /etc/profile.d/urlcode.sh

代码显示如下:

alias urldecode='python3 -c "import sys, urllib.parse as ul; print(ul.unquote_plus(sys.argv[1]))"'
alias urlencode='python3 -c "import sys, urllib.parse as ul; print(ul.quote_plus(sys.argv[1]))"'

2.2.2 测试URL编码

urlencode '%^&'

显示如下:

%25%5E%26

2.2.3 测试URL解码

urldecode '%25%5E%26'

显示如下:

%^&

参阅文档:
https://unix.stackexchange.com/questions/159253/decoding-url-encoding-percent-encoding

source /etc/profile.d/urlcode.sh
urlencode ‘%^&’

没有评论

发表回复

Python
如何解决CentOS 7.x firewall-cmd Python不兼容问题?

1 前言 一个问题,一篇文章,一出故事。 今天基于CentOS 7.x编译并安装新版本的Python …

Python
如何解决CentOS 7.x yum Python不兼容问题?

1 前言 一个问题,一篇文章,一出故事。 今天基于CentOS 7.x编译并安装新版本的Python …

Python
如何基于CentOS 7.x编译安装Python 3.x?

1 前言 一个问题,一篇文章,一出故事。 今天遇到CentOS 7.x Python版本过旧需要安装 …