使用来转义密码urllib.quote()虽然您只应引用/转义密码,但不包括username:否则:遗嘱也将被逃脱%3A

例如:

import pymongo 
import urllib 

mongo_uri = "mongodb://username:" + urllib.quote("p@ssword") + "@127.0.0.1:27001/"
client = pymongo.MongoClient(mongo_uri)

  

上面的代码段已针对MongoDB v3.2.x,Python v2.7

对于Python 3.x,可以使用urllib.parse.quote()来使用%xx转义符替换密码中的特殊字符例如:

urllib.parse.quote()

 

以上方法,也适用于:sqlalchemy+pymssql连接语句密码的特殊字符转义:

engine = create_engine("mssql+pymssql://{}:".format(Login)+quote(Password)+"@{}/{}".format(Servername, DBname), echo=True)

  

posted on 2022-06-10 11:28  Carl_99  阅读(974)  评论(0编辑  收藏  举报