如何在Python中对URL和查询字符串进行编码?

URL或Uniform Resource Locator是一种用于定义不同数字资源的技术和标准。这个URL是众所周知的,其网址如下 https://www.pythontect.com . Python提供了不同的方法来正确地编码URL,以便将其形成全局形式。

null

Python URL编码方法

Python提供以下方法来编码URL或查询字符串。

  • 报价() 方法
  • urlencode() 方法

使用quote()方法编码URL

Python提供了quote()方法,该方法将对提供的字符串进行编码。quote()方法由urllib.parse模块提供,该模块是一个内置模块。没有必要安装这个模块只是导入它将工作。

import urllib.parseURL = "https://www.pythontect.com/about/?name=ismail&pass=123"encoded_URL = urllib.parse.quote(URL)print(encoded_URL)

将打印到标准输出的编码URL如下所示。

https%3A//www.pythontect.com/about/%3Fname%3Dismail%26pass%3D123

我们可以从编码的URL中看到一些符号,比如/没有编码成不同的字符。但是有一种方法可以通过编码所有非字母字符来更安全地编码URL。这个 安全参数 可以设置空字符串,该字符串将转换所有非字母字符。

import urllib.parse

URL = "https://www.pythontect.com/about/?name=ismail&pass=123"

encoded_URL = urllib.parse.quote(URL,safe="")

print(encoded_URL)
图片[1]-如何在Python中对URL和查询字符串进行编码?-yiteyi-C++库

输出如下。

https%3A%2F%2Fwww.pythontect.com%2Fabout%2F%3Fname%3Dismail%26pass%3D123

使用urlencode()方法对URL或查询字符串进行编码

另一种对URL进行编码的方法是urlencode()方法,它也是通过urllib.parse模块提供的。作为一个内置模块,只需导入urllib.parse模块就可以正常工作。URL编码,特别用于编码由键值对组成的查询字符串,这与字典项非常相似。这些参数作为字典提供给urlencode()方法。

import urllib.parse

query_string = { "username":"ismail baydan" , "password":"123"}encoded_URL = urllib.parse.urlencode( query_string )

print(encoded_URL)

输出如下。

username=ismail+baydan&password=123
© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享