URL 인코딩을 사용하여 데이터베이스 연결 문자열의 특수 문자 처리
SQLalchemy로 Python 애플리케이션을 개발할 때 연결 문자열을 사용하여 데이터베이스 연결을 설정하는 경우가 많습니다. 그러나 비밀번호에 특수 문자가 있으면 구문 분석 문제가 발생할 수 있습니다. 적절한 구문 분석이 가능하도록 연결 문자열이나 비밀번호 구성 요소를 수정할 수 있습니까?
"p@ss"와 같은 특수 문자가 포함된 비밀번호를 고려해 보세요. "postgresql://user:p@ss@host/database"와 같은 연결 문자열에 통합되면 "@" 및 ":" 문자가 구분 기호로 해석되어 성공적인 연결을 방해합니다.
한 가지 해결 방법 엔진.URL.create() 메소드를 사용하고 자격 증명을 직접 전달하는 것입니다. 그러나 가능하다면 연결 문자열을 수동으로 인코딩하는 것이 좋습니다.
해결책은 문자열의 비밀번호 부분을 URL 인코딩하는 것입니다.
from urllib.parse import quote_plus from sqlalchemy.engine import create_engine engine = create_engine("postgres://user:%s@host/database" % quote_plus("p@ss"))
이 방법은 SQLAlchemy의 URL 표현에 사용됩니다. 비밀번호를 탈출하는 클래스. 비밀번호를 URL로 인코딩하면 특수 문자를 처리하고 연결 문자열을 올바르게 구문 분석할 수 있습니다.
위 내용은 URL 인코딩으로 SQLAlchemy 연결 문자열의 특수 문자 문제를 해결할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!