簡體   English   中英

Python 百分比僅編碼 URL 中的某些字符

[英]Python percent encoding only certain characters in a URL

如果#字符出現在給定的 url 中,我必須對其進行百分比編碼。我知道我們可以使用urllib.quote對 URL 進行編碼。 它需要一個safe關鍵字來設置特定字符以確保 URL 安全。我正在尋找類似的東西:

a = 'http://localhost:8001/3.0/lists/list_1.localhost.org/roster/owner#iammdkdkf'
b = urllib.quote(a,unsafe='#')

問候。

怎么樣a.replace('#','%23')

您可以分別引用每個必需的字符(包括# )並創建一個字典。 然后循環替換字符:

import urllib.parse
reserved = {i: urllib.parse.quote(i) for i in R'#<>:"|?*'}
str_var = "report#2022-12-06#10:15:44.html"
for char, ch_pc_enc in reserved.items():
    str_var = str_var.replace(char, ch_pc_enc)
print(str_var)  # report%232022-12-06%2310%3A15%3A44.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM