Атрибут urlparts
Атрибут urlparts применяется к объекту запроса
request и возвращает именованный кортеж
SplitResult из модуля urllib.parse.
Кортеж содержит шесть элементов: scheme,
netloc, path, query,
fragment и username с password
(в виде отдельных полей). Доступ к частям URL
возможен как по индексу, так и по имени поля.
Атрибут полезен, когда нужно разобрать URL на составляющие без ручного парсинга строки.
Синтаксис
request.urlparts
Пример
Давайте выведем все части URL для простого запроса:
from bottle import Bottle, request
app = Bottle()
@app.route('/user')
def index():
return str(request.urlparts)
Результат выполнения кода для адреса /user?name=abcde:
SplitResult(scheme='http', netloc='localhost:8080', path='/user', query='name=abcde', fragment='')
Пример
Давайте обратимся к отдельным частям URL по именам полей:
from bottle import Bottle, request
app = Bottle()
@app.route('/user')
def index():
parts = request.urlparts
return 'scheme: ' + parts.scheme + ', path: ' + parts.path + ', query: ' + parts.query
Результат выполнения кода для адреса /user?name=abcde:
<+html+>
scheme: http, path: /user, query: name=abcde
<-html+>
Пример
Давайте разберём URL с портом и фрагментом:
from bottle import Bottle, request
app = Bottle()
@app.route('/article')
def index():
parts = request.urlparts
res = [parts.scheme, parts.netloc, parts.path, parts.query, parts.fragment]
return str(res)
Результат выполнения кода для адреса /article?id=1#top:
['http', 'localhost:8080', '/article', 'id=1', 'top']
Смотрите также
-
класс
Request,
который представляет HTTP-запрос -
атрибут
url,
который возвращает полный URL запроса -
атрибут
path,
который возвращает путь URL -
атрибут
query_string,
который возвращает строку запроса