-
-
Notifications
You must be signed in to change notification settings - Fork 8.5k
[py] Fix proxy basic auth handling special characters #16105
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: trunk
Are you sure you want to change the base?
[py] Fix proxy basic auth handling special characters #16105
Conversation
PR Reviewer Guide 🔍Here are some key observations to aid the review process:
|
PR Code Suggestions ✨Explore these optional code suggestions:
|
User description
🔗 Related Issues
Fixes #16100 (see the issue for more details)
💥 What does this PR do?
When using a proxy server that requires basic authentication where the username or password contain special characters (like #), the authentication fails because:
This PR URL-unquotes the
_basic_proxy_auth
string that gets passed tourllib3.make_headers()
for base64 encoding.💡 Additional Considerations
I am hesitant to merge this without better testing. We don't have any unit tests covering this yet.
🔄 Types of changes
PR Type
Bug fix
Description
Fix proxy basic authentication with special characters in credentials
URL-unquote basic auth string before base64 encoding
Prevent double-encoding of special characters like '#' in passwords
Diagram Walkthrough
File Walkthrough
remote_connection.py
Fix proxy auth special character handling
py/selenium/webdriver/remote/remote_connection.py
unquote
function from urllib.parse