python / python/cpython

`urlparse` ignores the `scheme` parameter when parsing a URL

Offen
#122,565 9 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

type-bug
Vorherrschende Sprache
Python
Sterne
77.2k
Forks
35.9k
PR-Merge-Kennzahlen
PR-Kennzahlen ausstehend

Beschreibung

Bug report

Bug description:

urlparse ignores the scheme parameter when determining what part of a URL is the path and hostname.

from urllib.parse import urlparse
# This should be parsed as: http://www.example.com
parsed_url = urlparse('www.example.com', scheme='http')
print(parsed_url)
print(parsed_url.hostname)

ParseResult(scheme='http', netloc='', path='www.example.com', params='', query='', fragment='')
[empty string]

Should return:

ParseResult(scheme='http', netloc='', path='', params='', query='', fragment='')
www.example.com

Per the docs:

The scheme argument gives the default addressing scheme, to be used only if the URL does not specify one.

CPython versions tested on:

3.8, 3.11

Operating systems tested on:

Windows

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne damit, das gemeldete Verhalten von urlparse auf einer unterstützten CPython-Version zu reproduzieren, und untersuche die Implementierung von urllib.parse sowie die vorhandenen URL-Parsing-Tests. Vergleiche die Behandlung des scheme-Arguments mit dem dokumentierten Verhalten und ermittle, ob die angeforderte hostname-Analyse mit der URL-Syntax kompatibel ist. Erledigt bedeutet, dass das vereinbarte Verhalten durch Regressionstests abgedeckt ist.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
python
Bereich
networking
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
42/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.