Освоение манипулирования URL-адресами в Java: подробное руководство

Методы манипулирования URL-адресами:

  1. Получение внешней формы URL-адреса.
    Чтобы получить внешнюю форму URL-адреса, вы можете использовать метод toExternalForm(). Например:

    URL url = new URL("https://www.example.com");
    String externalForm = url.toExternalForm();
    System.out.println("URL External Form: " + externalForm);
  2. Получение ресурса из класса:
    Чтобы получить ресурс относительно класса, вы можете использовать метод getResource()из класса Class. Вот пример:

    Class<?> clazz = MyClass.class;
    URL resourceUrl = clazz.getResource("/path/to/resource");
    System.out.println("Resource URL: " + resourceUrl);
  3. Получение имени хоста из URL-адреса:
    Чтобы извлечь имя хоста из URL-адреса, вы можете использовать метод getHost(). Вот пример:

    URL url = new URL("https://www.example.com");
    String hostname = url.getHost();
    System.out.println("Hostname: " + hostname);
  4. Анализ параметров запроса.
    Чтобы проанализировать параметры запроса из URL-адреса, вы можете использовать метод getQuery(), чтобы получить строку запроса, а затем разделить ее на отдельные параметры. Вот пример:

    URL url = new URL("https://www.example.com/search?query=java&category=tutorials");
    String query = url.getQuery();
    String[] params = query.split("&");
    for (String param : params) {
    String[] keyValue = param.split("=");
    String key = keyValue[0];
    String value = keyValue[1];
    System.out.println(key + ": " + value);
    }
  5. Изменение параметров запроса.
    Чтобы изменить параметры запроса в URL-адресе, вы можете создать новый URL-адрес, используя класс URIи связанные с ним методы. Вот пример:

    URL url = new URL("https://www.example.com/search?query=java&category=tutorials");
    URI uri = url.toURI();
    String newQuery = "query=python&category=articles";
    URI modifiedUri = new URI(uri.getScheme(), uri.getAuthority(), uri.getPath(), newQuery, uri.getFragment());
    URL newUrl = modifiedUri.toURL();
    System.out.println("Modified URL: " + newUrl);