URL Parse Split incorreclty interpret proxy pw, which include '?'

Ouverte
#101,186 3 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Évaluation

Difficulté
2/5
Temps estimé
1-3 heures
Accessibilité débutants
35/100
Type d'issue
Bug
Clarté
Plutôt claire
Activité
À l'abandon
Stack technique
python
Domaine
networking

Piste de recherche

Commencez dans Lib/urllib/parse.py, au niveau du code de découpage d’URL lié dans l’issue, et reproduisez l’analyse de http://user:p?assword@server:port. Confirmez le comportement attendu pour un point d’interrogation dans les identifiants du proxy, puis vérifiez que l’exemple ne traite plus une partie du mot de passe comme un composant d’URL distinct.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

stdlib

Hi,

I have exported the env var for http proxy, where the Username and password is included in the URL.
The password of the user includes an '?', which is the reason, why the URL string is not correctly processed.

The URL
http_proxy='http://<username>:<pass_with_?>@<server>:<port>'

When the method splits:
https://github.com/python/cpython/blob/53d9cd95cd91f1a291a3923acb95e0e86942291a/Lib/urllib/parse.py#L477

It splits at the ? of the password.

Therefore resulting into

 File "/usr/lib/python3/dist-packages/httplib2/__init__.py", line 950, in proxy_info_from_url
    port = int(port)
ValueError: invalid literal for int() with base 10: 'p'

if the URL would be:

http://user:p?assword@server:port

Regards
Nam

Langage dominant
Python
Étoiles
77.2k
Forks
36k
Merge moyen
1 j 9 h
PR mergées (30 j)
558

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de python/cpython

Toutes les issues de python/cpython

Issues similaires

Plus d'issues Python

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.