python / python/cpython

`urllib.request.getproxies_registry` does not return proxy exceptions (no_proxy)

Ouverte
#121,085 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

type-bug
Langage dominant
Python
Étoiles
77.2k
Forks
36k
Métriques de merge des PR
Métriques de PR en attente

Description

Bug report

Bug description:

On Windows

https://github.com/python/cpython/blob/b7a95dfee30aae171de47f98ed3b7d1cc08e5bd4/Lib/urllib/request.py#L2726-L2733

getproxies_environment() gets the proxy servers from environment variables HTTP_PROXY, HTTPS_PROXY, etc. and the proxy exceptions from NO_PROXY, returns a dict like {'http': '<URL>', 'no': '<FQDNs>'}; but getproxies_registry() gets only the proxy servers from Registry, returns a dict like {'http': '<URL>'}. These two ways to get proxies are inconsistent, a Windows user will get a proxy dict without exceptions list if he configures proxies in Settings or Internet Options (Registry).

CPython versions tested on:

CPython main branch

Operating systems tested on:

Windows

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.

Piste de recherche

Commencez dans Lib/urllib/request.py, aux lignes référencées de getproxies_registry(), puis comparez son résultat avec getproxies_environment(), en particulier l’entrée no_proxy. Reproduisez la configuration du proxy de Windows Registry décrite dans l’issue et vérifiez que getproxies_registry() renvoie les exceptions de proxy de manière cohérente avec le chemin fondé sur l’environnement.

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

Évaluation

Stack technique
python
Domaine
networking
Type d'issue
Bug
Difficulté
3/5
Temps estimé
1-2 jours
Activité
À l'abandon
Clarté
Clairement spécifiée
Accessibilité débutants
48/100

Recevez les nouvelles issues par e-mail

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