optimize code for proxy handling of `urllib.request`
Personne n'a encore pris cette issue.
- Langage dominant
- Python
- Étoiles
- 77.2k
- Forks
- 35.9k
- Métriques de merge des PR
- Métriques de PR en attente
Description
Feature or enhancement
Proposal:
- the second loop of line starts from 1845 is duplicated from the first loop.
https://github.com/python/cpython/blob/2041a95e68ebf6d13f867e214ada28affa830669/Lib/urllib/request.py#L1817-L1853 - the registry access should be separated to a standalone function for cache, to be used by code like https://github.com/aio-libs/aiohttp/blob/e79b2d5df70a2644e81925cc49558962af91848d/aiohttp/client.py#L609-L617
https://github.com/python/cpython/blob/2041a95e68ebf6d13f867e214ada28affa830669/Lib/urllib/request.py#L2071-L2104 - the proxy setting from registry should be ignored when if proxies from environment exists? like the
proxy_bypass()
Should open a PR?
Has this already been discussed elsewhere?
This is a minor feature, which does not need previous discussion elsewhere
Links to previous discussion of this feature:
No response
Linked PRs
- gh-127767
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Piste de recherche
Commencez dans Lib/urllib/request.py autour des lignes 1817-1853 et 2071-2104, puis comparez la gestion des proxies de aiohttp liée. Clarifiez si l’objectif inclut la déduplication des boucles, l’extraction de l’accès au registre mis en cache et la priorité donnée aux proxies d’environnement ; le travail est terminé lorsque le comportement des proxies convenu est implémenté et couvert par des tests urllib.request appropriés.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- python
- Domaine
- networking
- Type d'issue
- Fonctionnalité
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Activité
- À l'abandon
- Clarté
- À clarifier
- Accessibilité débutants
- 25/100