Унифицированный идентификатор ресурса (URI) — это строка символов, которая идентифицирует уникальный ресурс в Интернете. Его можно использовать для поиска и извлечения таких ресурсов, как веб-страницы, изображения, видео и многое другое. Вот несколько методов, обычно используемых с URI, а также примеры кода:
-
Разбор URI.
Во многих языках программирования вы можете разобрать URI на его компоненты, такие как схема, хост, путь, параметры запроса и т. д. Например, в Python:import urllib.parse uri = "https://www.example.com/search?q=uri+example" parsed_uri = urllib.parse.urlparse(uri) print("Scheme:", parsed_uri.scheme) print("Host:", parsed_uri.netloc) print("Path:", parsed_uri.path) print("Query Parameters:", urllib.parse.parse_qs(parsed_uri.query))
-
Создание URI.
Вы можете создать URI, объединив его компоненты с использованием правильной кодировки. Например, снова в Python:import urllib.parse scheme = "https" host = "www.example.com" path = "/search" query_params = {"q": "uri example"} uri = urllib.parse.urlunparse((scheme, host, path, '', urllib.parse.urlencode(query_params), '')) print("Constructed URI:", uri)
-
Кодирование URL-адресов.
При работе с URI важно правильно кодировать специальные символы, чтобы гарантировать их правильную интерпретацию браузерами и серверами. В JavaScript вы можете использовать функциюencodeURIComponent
:const uri = "https://www.example.com/search?q=" + encodeURIComponent("uri example"); console.log("Encoded URI:", uri);
-
Декодирование URL-адреса.
И наоборот, если у вас есть URI с закодированными компонентами, вы можете декодировать его, чтобы получить исходные значения. В Java вы можете использовать классjava.net.URLDecoder
:import java.net.URLDecoder; String uri = "https://www.example.com/search?q=uri%20example"; String decodedQuery = URLDecoder.decode(uri, "UTF-8"); System.out.println("Decoded Query:", decodedQuery);