Класс url


URL class in Java with Examples

The URL class is the gateway to any of the resource available on the internet. A Class URL represents a Uniform Resource Locator, which is a pointer to a “resource” on the World Wide Web. A resource can point to a simple file or directory, or it can refer to a more complicated object, such as a query to a database or to a search engine

What is a URL?
As many of you must be knowing that Uniform Resource Locator-URL is a string of text that identifies all the resources on Internet, telling us the address of the resource, how to communicate with it and retrieve something from it.

A Simple URL looks like:

Components of a URL:-
A URL can have many forms. The most general however follows three-components system-

  1. Protocol: HTTP is the protocol here
  2. Hostname: Name of the machine on which the resource lives.
  3. File Name: The path name to the file on the machine.
  4. Port Number: Port number to which to connect (typically optional).

Some constructors for URL class:-

  1. URL(String address) throws MalformedURLException: It creates a URL object from the specified String.
  2. URL(String protocol, String host, String file): Creates a URL object from the specified protcol, host, and file name.
  3. URL(String protocol, String host, int port, String file): Creates a URL object from protocol, host, port and file name.
  4. URL(URL context, String spec): Creates a URL object by parsing the given spec in the given context.
  5. URL(String protocol, String host, int port, String file, URLStreamHandler handler):-
    Creates a URL object from the specified protocol, host, port number, file, and handler.
  6. URL(URL context, String spec, URLStreamHandler handler):-
    Creates a URL by parsing the given spec with the specified handler within a specified context.

Sample Program:

Explanation of some methods used in the above program is as follows:-

  1. public String toString(): As in any class, toString() returns the string representation of the given URL object.
  2. public String getAuthority(): returns the authority part of URL or null if empty.
  3. public String getPath(): returns the path of the URL, or null if empty.
  4. public String getQuery(): returns the query part of URL. Query is the part after the ‘?’ in the URL. Whenever logic is used to display the result, there would be a query field in URL. It is similar to querying a database.
  5. public String getHost(): return the hostname of the URL in IPv6 format.
  6. public String getFile(): returns the file name.
  7. public String getRef(): Returns the reference of the URL object. Usually, the reference is the part marked by a ‘#’ in the URL. You can see the working example by querying anything on google and seeing the part after ‘#’.
  8. public int getPort(): returns the port associated with the protocol specified by the URL.
  9. public int getDefaultPort: returns the default port used.
  10. public String getProtocol(): returns the protocol used by the URL.

This article is contributed by Rishabh Mahrsee. If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.

Что такое URL адрес и как с ним работать

Заблудиться можно не только в лесу, но и в онлайне. И тому виной может стать неверный путь или адрес, ведущий к ресурсу. Вы не знаете, что такое URL адрес? Тогда прежде, чем пускаться в дальнейшее путешествие по виртуальному пространству, давайте разберемся с системой электронных адресов.

Что такое URL

URL является общепринятым стандартом записи адреса и указания на расположение ресурса в интернете. С английского его название ( Uniform Resource Locator ) переводится как единый указатель ресурсов. Можно встретить более раннюю расшифровку аббревиатуры URL — Universal Resource Locator ( универсальный локатор ресурсов ). Но оба значения скорее дополняют понятие URL , чем перечат друг другу.

Основной формат записи структуры URL адреса выглядит так:
://:@:/?#
— чаще всего имеется в виду протокол.
логин – логин пользователя, используемый для авторизации на ресурсе.
пароль – пароль пользователя для авторизации.
хост – доменное имя хоста.
порт – порт хоста, используемый во время подключения.
URL – путь, по которому находится запрашиваемый ресурс на сервере.
параметры и якорь – значение переменных и идентификатор на определенном ресурсе.

Передача значения переменных в строке запроса возможна лишь с помощью метода GET .

Рассмотрим формат URL адреса страницы запрашиваемого ресурса на практических примерах. На клиентской стороне URL отображается в адресной строке браузера:

Чаще всего встречаются такие варианты:

  • http:// ru.wikipedia.org/wiki/Заглавная_страница – для передачи запроса используется http ( протокол передачи гипертекста );
  • https://ru.wikipedia.org/wiki/Заглавная_страница — в качестве способа передачи используется https . Является защищенной формой протокола http , использующего шифрование ( SSL или TLS );
  • fttp://wikipedia.org/wiki/file.txt – протокол передачи файлов fttp ;
  • http://mail.ru/script.php?num=10&type=new&v=text – передача значений переменных в строке запроса с помощью метода GET .

Любой формат URL адреса представляет собой, прежде всего, символьную строку. В ее состав могут входить:
2; Латинские буквы.
2; Арабские цифры (0-9).
2; Зарезервированные символы («+», «=», «!» и другие).
2; Специальные символы – на них остановимся более подробно.

Использование специальных символов в URL

Конечно, таких уж слишком «специальных» символов в URL не используют. Но несколько есть:

  • ? – служит для отделения в строке запроса блока с передаваемыми параметрами;
  • & — отделяет передаваемые параметры друг от друга;
  • = — отделяет в параметре переменную от ее значения;
  • : — служит для отделения протокола от остальной части URL;
  • # — символ используется в локальной части адреса. Позволяет обратиться к определенной части запрашиваемой страницы;
  • @ — указывается в регистрационных данных пользователя и при передаче данных с помощью протокола mailto.

Но все это лишь теория. Поэтому перед тем, как узнать остальное, рассмотрим небольшой практический пример.

Наглядный пример

Возьмем для наглядности вот такую простую форму регистрации:

Вот ее код:

Первой строкой в начале формы мы прописали для нее файл обработчика (php) и метод передачи данных через URL адрес сервера:

Теперь приведем код файла обработчика (1.php) :

Введем данные в форму и отправим их для обработки на сервер. Вот что мы получим в итоге:

Обратите внимание на формат URL в адресной строке на первом скриншоте. После введения данных и нажатия на кнопку « Отправка данных » значения всех полей отправляются для обработки на сервер. А нас перенаправляет на страницу 1.php , где размещен код обработчика.

Перед тем, как посмотреть на результат обработки, взгляните на адресную строку на втором рисунке. В ней отображаются значения полей, переданных на обработку с помощью метода GET.

Для того чтобы скрыть данные, отправляемые на сервер, используется метод POST. Тогда приведенный выше URL будет выглядеть следующим образом:

Формат URL адресов на сайтах

Чаще всего на сайтах используется древовидная система URL . То есть правильный URL адрес состоит из нескольких вложенных друг в друга элементов, последний из которых и является нужной веб-страницей.


Для наглядности возьмем конкретный URL , являющейся одним из разветвлений адреса нашего сайта:

https://www.internet-technologies.ru/templates//page_2.html

Разберем его по частям:

  • www.internet-technologies.ru – эта часть является доменным именем сайта. Если набрать его в адресной строке браузера, то оно выведет на главную страницу сайта. В большинстве случаев это файл index. html ;
  • templates – данная часть адреса указывает на определенный раздел сайта. В нашем случае это раздел с шаблонами;
  • page_2.html – является конечным элементом URL , ведущего на веб-страницу тематического раздела ресурса.

Чаще всего URL адреса основных разделов полностью отображают карту сайта. Но не все так просто обстоит с переадресацией на сайтах, развернутых на основе популярных движков ( CMS ).

Особенности построения URL в WordPress

В WordPress , как и в любом движке, построенном на php , генерация всех страниц сайта происходит динамически. То есть одна часть берется из одного шаблона, другая генерируется « на лету » на основе нескольких.… Но такая летучесть имеет один существенный недостаток – наличие кусков передаваемых параметров в URL .

Илон Маск рекомендует:  Sun microsystems и современные технологии сетевых вычислений

Причем это ущемляет не только эстетическую составляющую отображения адресов, но и неоднозначно воспринимается поисковиками. А это может негативно влиять на продвижение сайта:

Поэтому лучше использовать на своем сайте чистые URL адреса. Но где взять их, если CMS система не предусматривает возможности их редактирования.

Самый простой способ настройки отображения URL в WordPress – это использование специализированных плагинов:

  • Cyr-To-Lat – преобразует русские символы в адресах в латиницу;
  • Permalink Editor – добавляет дополнительные опции для настройки через админку (раздел «Постоянные ссылки»);
  • .html on pages – убирает расширение html c конца URL .

Ну а если и это не помогает, то нужно лезть собственными руками в само сердце CMS . Но это уже тема другого и более обширного по объему материала.

Класс url

URL (Uniform Resource Locator) – это индикатор положения ресурса в Интернете. Это адрес страницы сайта, который состоит из домена, пути к странице и наименования ее файла. В 1990 г. Тим Бернерс-Ли, участвовавший в Европейском совете по ядерным исследованиям в Женеве, придумал URL, на тот момент представлявший собой адрес расположения файлов.

Вместе с явными достоинствами URL имеет существенный недостаток. В нем могут использоваться только латинские буквы и некоторые символы в адресе. В противном случае под влиянием особого алгоритма адрес кодируется в шестнадцатеричном представлении, что значительно ущемляет другие языки. Для этого используется международный индикатор сайтов IRI, позволяющий прописывать любые символы Юникода. Длину URL ограничивают только браузеры. Не рекомендуется использовать больше 2048 символов.

Структура URL сайта

Изначально для URL-адреса была заложена понятная, удобная и легко расширяемая структура. Традиционная форма представлена следующим образом:

Каждый идентификатор имеет свое назначение.

  • Схема – протокол, который будет использоваться для передачи данных. Например, стандартный http, защищенное соединение https, ftp – передача файлов по TCP-сетям и другие.
  • Логин и пароль – конфиденциальные данные, которые определяют права доступа пользователя к конкретному ресурсу. Не указываются в протоколе http. Например, используются в ftp для авторизации на сервере.
  • Хост – доменное имя или IP-адрес, на котором расположен сервер, сайт.
  • Порт – используется в основном для подключения к ftp, а в http не указывается и проставляется автоматически как 80, 8080.
  • URL-путь – точный адрес к конкретному файлу (странице).
  • Параметры – отдельные запросы, посылаемые методом GET на сервер с передаваемыми значениями параметров.
  • Якорь – это уникальная строка на странице, которой заранее присваивается URL-идентификатор со знаком #. При нажатии на ссылку с якорем пользователь попадает сразу в нужный фрагмент текста. Активно используется на форумах, в комментариях, в заголовках для быстрой навигации.

Схемы (протоколы) URL

На 2020 год разработано и введено огромное количество протоколов как для передачи файлов в разных сетях, так и для быстрого взаимодействия с определенными сервисами, программным обеспечением в сети. Схемы делятся на 3 категории.

Общепринятые:

  • ftp – передача данных через FTP-клиент;
  • https – протокол с шифрованием;
  • mailto – запуск почтовой службы и отправка писем;
  • xmpp – протокол XMPP в Jabber и других клиентах.

Экзотические:

  • skype – взаимодействие с программой Skype;
  • ednk – протокол файлообменника eDonkey;
  • bitcoin – биткоин;
  • steam – сервис цифровых покупок Steam, быстрое подключение к серверам игр;
  • tg – мессенджер Telegram.

Протоколы в браузерах:

  • opera – служебные настройки и страницы браузера Опера;
  • browser – служебные настройки и страницы браузера от Яндекса;
  • chrome – служебные настройки и страницы Google Chrome.

Мы перечислили лишь основные примеры протоколов URL для каждой категории, но на самом деле их значительно больше.

Кодирование URL

Для кодирования адресов используется набор символов US-ASCII, но его ограничение имеет существенные недостатки. Он предусматривает взаимодействие только с буквами латиницы и некоторыми символами. Для поддержки кириллицы используется перекодировка.

Реализация. Если системе необходимо перекодировать кириллицу в латиницу, преобразование осуществляется в 2 этапа.

  • Все символы кодируются в формате UTF-8 в определенной последовательности из 2 байтов.
  • Вся последовательность кодированных байтов записывается в шестнадцатеричной системе исчисления с использованием знака процента (%).

Стандарт IRI. Так как использование символов в URL ограничено только латиницей, это ущемляет права других стран и народов, поэтому данную проблему можно решить с помощью стандарта IRI, который расшифровывается как «международный идентификатор ресурсов». Он был закреплен в 2005 году как альтернатива URL, в котором могут использоваться любые символы и буквы Юникода.


Инициатива PURL

Одна из существенных проблем, которая наблюдается в использовании URL сайта, – это отсутствие какой-либо гибкости. Например, вы выложили информацию в Интернете по определенному адресу, разослали письма друзьям, разместили ссылки на других сайтах, но в какой-то момент поменяли его. В итоге пользователи, которым вы ранее сообщали о рабочем URL, смогут перейти на нужную страницу только в том случае, если корректно настроен редирект.

Технология PURL предназначена для того, чтобы создать общий каталог, где будут храниться все URL. Пользователь обращается к PURL, сервер автоматически находит нужный URL, и система переадресовывает человека по адресу, который ему был нужен. Если же адрес поменяется, то достаточно изменить запись в базе данных PURL.

Виды URL

URL с идентификатором сессий. У адреса может быть отдельный идентификатор SID, который автоматически добавляется при каждом посещении страницы разными пользователями. В основном такие URL используются для массового сбора статистики о посетителях и их поведении для дальнейшего анализа.

Статические URL. Информация на странице постоянна и не меняется. Используются для формирования качественного контента на сайте.

Динамические URL. Генерируют информацию автоматически в зависимости от запросов пользователей. В основном используются в скриптах для фильтрации контента, вывода различных форм поиска и прочих удобств навигации. Поисковые роботы обычно игнорируют динамические URL и не индексируют их.

Формирование ЧПУ

ЧПУ – это тоже пример URL, который переводится как «человекопонятный URL». Используется во многих CMS благодаря встроенным инструментам или дополнительным модулям и плагинам. Приводит вид URL к понятной и логической структуре, например site.ru/content/car.

С помощью ЧПУ легче создавать и отслеживать структуру сайта, изменять URL, вести аналитику в панели веб-мастера. В адресе могут использоваться только латинские буквы и некоторые символы.

Java URL

The Java URL class represents an URL. URL is an acronym for Uniform Resource Locator. It points to a resource on the World Wide Web. For example:

A URL contains many information:

  1. Protocol: In this case, http is the protocol.
  2. Server name or IP Address: In this case, www.javatpoint.com is the server name.
  3. Port Number: It is an optional attribute. If we write http//ww.javatpoint.com:80/sonoojaiswal/ , 80 is the port number. If port number is not mentioned in the URL, it returns -1.
  4. File Name or directory name: In this case, index.jsp is the file name.

Constructors of Java URL class

URL(String spec)

Creates an instance of a URL from the String representation.

URL(String protocol, String host, int port, String file)

Creates an instance of a URL from the given protocol, host, port number, and file.

URL(String protocol, String host, int port, String file, URLStreamHandler handler)

Creates an instance of a URL from the given protocol, host, port number, file, and handler.

URL(String protocol, String host, String file)

Creates an instance of a URL from the given protocol name, host name, and file name.

URL(URL context, String spec)

Creates an instance of a URL by parsing the given spec within a specified context.

URL(URL context, String spec, URLStreamHandler handler)

Creates an instance of a URL by parsing the given spec with the specified handler within a given context.

Commonly used methods of Java URL class

The java.net.URL class provides many methods. The important methods of URL class are given below.

Method Description
public String getProtocol() it returns the protocol of the URL.
public String getHost() it returns the host name of the URL.
public String getPort() it returns the Port Number of the URL.
public String getFile() it returns the file name of the URL.
public String getAuthority() it returns the authority of the URL.
public String toString() it returns the string representation of the URL.
public String getQuery() it returns the query string of the URL.
public String getDefaultPort() it returns the default port of the URL.
public URLConnection openConnection() it returns the instance of URLConnection i.e. associated with this URL.
public boolean equals(Object obj) it compares the URL with the given object.
public Object getContent() it returns the content of the URL.
public String getRef() it returns the anchor or reference of the URL.
public URI toURI() it returns a URI of the URL.

Example of Java URL >

Let us see another example URL class in Java.

Илон Маск рекомендует:  Что такое код asp nocache

Класс url

Class URL represents a Uniform Resource Locator, a pointer to a «resource» on the World Wide Web. A resource can be something as simple as a file or a directory, or it can be a reference to a more complicated object, such as a query to a database or to a search engine. More information on the types of URLs and their formats can be found at:

In general, a URL can be broken into several parts. The previous example of a URL indicates that the protocol to use is http (HyperText Transport Protocol) and that the information resides on a host machine named www.ncsa.uiuc.edu. The information on that host machine is named demoweb/url-primer.html. The exact meaning of this name on the host machine is both protocol dependent and host dependent. The information normally resides in a file, but it could be generated on the fly. This component of the URL is called the file component, even though the information is not necessarily in a file.

A URL can optionally specify a «port», which is the port number to which the TCP connection is made on the remote host machine. If the port is not specified, the default port for the protocol is used instead. For example, the default port for http is 80. An alternative port could be specified as:

A URL may have appended to it an «anchor», also known as a «ref» or a «reference». The anchor is indicated by the sharp sign character «#» followed by more characters. For example,


This anchor is not technically part of the URL. Rather, it indicates that after the specified resource is retrieved, the application is specifically interested in that part of the document that has the tag chapter1 attached to it. The meaning of a tag is resource specific.

An application can also specify a «relative URL», which contains only enough information to reach the resource relative to another URL. Relative URLs are frequently used within HTML pages. For example, if the contents of the URL:

    http://java.sun.com/index.html

contained within it the relative URL:

    FAQ.html

it would be a shorthand for:

    http://java.sun.com/FAQ.html

The relative URL need not specify all the components of a URL. If the protocol, host name, or port number is missing, the value is inherited from the fully specified URL. The file component must be specified. The optional anchor is not inherited.

Как добавлять класс блоку в зависимости от url?

Здравствуйте!
При загрузке страницы необходимо сделать проверку url, и если в url содержится определённые символы, то к одному из блоков на странице нужно добавить новый class. Если конкретнее:
Есть какая-нибудь страница с адресом вроде: website.ru/page
А если адрес страницы выглядит следующим образом:
website.ru/page#qwerty
. то при загрузке страницы к блоку div нужно добавить ещё один class.

Будте добры, покажите пример кода, реализующего данную работу.
Спасибо!

Learn Java URL >by DataFlair Team · September 13, 2020

1. Objective

In our last Tutorial, we discuss Pair Class in Java. Here, in this Java tutorial, we are going to learn about the Java URL class, which we will use as a gateway to the internet. Moreover, we will study what is URL and various segments of the URL. At last, we will discuss Java URL Class Example to understand better.

So, let us start Java URL Class.

Learn Java URL Class With Examples

2. What is Java URL Class?

Java URL class is the entryway to any of the asset accessible the on web. A Class URL speaks to a Uniform Resource Locator, which is a pointer to an “asset” on the World Wide Web. An asset can point to a straightforward document or catalog, or it can allude to a more convoluted question, for example, an inquiry to a database or to a web search tool.

3. What is a URL?

The same number of you should realize that Uniform Resource Locator-URL is a string of content that distinguishes every one of the assets on Internet, revealing to us the address of the asset, how to speak with it and recover something from it.
A Simple URL looks like –

Example of URL – Uniform Resource Locator

a. Segments of a URL

A URL can have numerous structures. The broadest, however, takes after a three-segment framework

Protocol: HTTP is the convention here

Hostname: Name of the machine on which the asset lives.

Document Name: The way name to the record on the machine.

Port Number: Port number to which to interface (commonly discretionary).

b. Some Constructors for Java URL Class

Here, are some important Constructors explained for Java URL Class, let’s discuss them one by one:

  • URL(String address) throws MalformedURLException: It makes a URL protest from the predefined String.
  • URL(String protocol, String host, String file): Creates a URL question from the predetermined protcol, host, and record name.
  • URL(String protocol, String host, int port, String record): Creates a URL question from convention, host, port and document name.
  • URL(URL content, String spec): Creates a URL question by parsing the given spec in the given setting.
  • URL(String protocol, String host, int port, String record, URLStreamHandler handler): Makes a URL question from the predetermined convention, have, port number, document, and handler.
  • URL(URL context, String spec, URLStreamHandler handler): Makes a URL by parsing the given spec with the predefined handler inside a predetermined setting.

c. Java URL Class Example

Explanation of some methods used in the above program is as follows:

  • Public String toString(): As in any class, toString() restores the string portrayal of the given URL protest.
  • Public String getAuthority(): restores the specialist part of the URL or invalid if discharge.
  • Public String getPath(): restores the way of the URL, or invalid if purge.
  • Public String getQuery(): restores the inquiry part of the URL. An inquiry is a part after the ‘?’ in the URL. At whatever point rationale is utilized to show the outcome, there would be an inquiry field in URL. It is like questioning a database.
  • Public String getHost(): restore the hostname of the URL in IPv6 arrange.
  • Public String getFile(): restores the record name.
  • Public String getRef(): Returns the reference of the URL question. Generally, the reference is the part set apart by a ‘#’ in the URL. You can see the working example by questioning anything on google and seeing the part after ‘#’.
  • Public int getPort(): restores the port-related with the convention indicated by the URL.
  • Public int getDefaultPort: restores the default port utilized.
  • Public String getProtocol(): restores the convention utilized by the URL.

So, this was all about Java URL Class Tutorial. Hope you like our explanation.

4. Conclusion

Hence, in this tutorial, we learned about the Java URL class in Java and the Basic URL we used on the internet. In conclusion, we studied segments and constructs used in Java URL Class with an example. Furthermore, if you have any query feel free to ask in the comment section.

Related Topic – Java Generics

Пользовательский класс правил URL в Yii2


Для генерации красивых урлов, yii2 умеет расширять класса yii\web\UrlRule, например, для получения ссылки вида

необязательно и неправильно создавать контроллер Blog.

Итак, нам понадобится модель Articles с полями title, slug, content. Поля title и content можно будет вводить, а поле slug будет генерироваться автоматически. Необходим UrlHelper (от DevGroup ) для транслитерации русских слов и очистки от ненужных символов.

Через Gii необходимо создать модель Articles. Поле для url будем создавать после сохранения модели, т.е. используем функцию afterSave. В модели Articles объявим функцию

Стоит заметить, что при таком подходе длина slug зависит от длины title, и чтобы избежать длинных url-ов можно воспользоваться StringHelper-ом (функция truncateWords). Уникальность url будет всегда выполняться, поскольку к url мы добавляем id.

Приступим к созданию класса маршрутизации

В config/web.php новый класс для определения url:

Сначала опишем функцию parseRequest($manager, $request) в ArticlesManager:

Примечание 1: Массив $matches для url вида /blog/polzovatelskiy-klass-pravila-url-v-yii2 должен состоять из 4 элементов, все остальные варианты отсекаем

Примечание 1.1: Сравниваем первый элемент в введенном url

Примечание 2: Если объект $article пуст, то также должны вернуть false

Примечание 3: В случае успеха отправляемся в контроллер SiteController, actionArticle. В качестве переменной передаем объект класса Article

Примечание 4: Все остальные возможности также отсекаем.

В контроллере SiteController нужно создать action article:

В качестве последнего штриха опишем функцию createUrl($manager, $route, $params) из ArticlesManager.

Эта функция важна тем, что будет позволять строить url до конкретной статьи, зная только его id, например, при помощи следующей конструкции:

Для этого, необходимо проверить переменную $route и id статьи в функции createUrl:

Теперь при вызове Url::to([‘view/article’, ‘id’ => $article->id]); будет генерироваться ссылка вида /blog/ <ваш-slug>и срабатывать SiteController/actionArticle

Илон Маск рекомендует:  Что такое код odbc_procedures

Java — URL Processing

URL stands for Uniform Resource Locator and represents a resource on the World Wide Web, such as a Web page or FTP directory.

This section shows you how to write Java programs that communicate with a URL. A URL can be broken down into parts, as follows −

Examples of protocols include HTTP, HTTPS, FTP, and File. The path is also referred to as the filename, and the host is also called the authority.

The following is a URL to a web page whose protocol is HTTP −

Notice that this URL does not specify a port, in which case the default port for the protocol is used. With HTTP, the default port is 80.

URL Class Methods

The java.net.URL class represents a URL and has a complete set of methods to manipulate URL in Java.

The URL class has several constructors for creating URLs, including the following −

public URL(String protocol, String host, int port, String file) throws MalformedURLException

Creates a URL by putting together the given parts.

public URL(String protocol, String host, String file) throws MalformedURLException

Identical to the previous constructor, except that the default port for the given protocol is used.

public URL(String url) throws MalformedURLException

Creates a URL from the given String.

public URL(URL context, String url) throws MalformedURLException

Creates a URL by parsing together the URL and String arguments.

The URL class contains many methods for accessing the various parts of the URL being represented. Some of the methods in the URL class include the following −

Sr.No. Constructors & Description
1


public String getPath()

Returns the path of the URL.

public String getQuery()

Returns the query part of the URL.

public String getAuthority()

Returns the authority of the URL.

public int getPort()

Returns the port of the URL.

public int getDefaultPort()

Returns the default port for the protocol of the URL.

public String getProtocol()

Returns the protocol of the URL.

public String getHost()

Returns the host of the URL.

public String getHost()

Returns the host of the URL.

public String getFile()

Returns the filename of the URL.

public String getRef()

Returns the reference part of the URL.

public URLConnection openConnection() throws IOException

Opens a connection to the URL, allowing a client to communicate with the resource.

Example

The following URLDemo program demonstrates the various parts of a URL. A URL is entered on the command line, and the URLDemo program outputs each part of the given URL.

A sample run of the this program will produce the following result −

Output

URLConnections Class Methods

The openConnection() method returns a java.net.URLConnection, an abstract class whose subclasses represent the various types of URL connections.

If you connect to a URL whose protocol is HTTP, the openConnection() method returns an HttpURLConnection object.

If you connect to a URL that represents a JAR file, the openConnection() method returns a JarURLConnection object, etc.

The URLConnection class has many methods for setting or determining information about the connection, including the following −

Sr.No. Method & Description
1

Retrieves the contents of this URL connection.

Object getContent(Class[] classes)

Retrieves the contents of this URL connection.

Returns the value of the content-encoding header field.

Returns the value of the content-length header field.

Returns the value of the content-type header field.


Returns the value of the last-modified header field.

Returns the value of the expired header field.

Returns the value of this object’s ifModifiedSince field.

public void setDoInput(boolean input)

Passes in true to denote that the connection will be used for input. The default value is true because clients typically read from a URLConnection.

public void setDoOutput(boolean output)

Passes in true to denote that the connection will be used for output. The default value is false because many types of URLs do not support being written to.

public InputStream getInputStream() throws IOException

Returns the input stream of the URL connection for reading from the resource.

public OutputStream getOutputStream() throws IOException

Returns the output stream of the URL connection for writing to the resource.

public URL getURL()

Returns the URL that this URLConnection object is connected to.

Example

The following URLConnectionDemo program connects to a URL entered from the command line.

If the URL represents an HTTP resource, the connection is cast to HttpURLConnection, and the data in the resource is read one line at a time.

A sample run of this program will produce the following result −

Класс Url

Методы для работы с URL.

Url::convertToAbsolute($url, $baseUrl=null)

Преобразует URL в любом виде в абсолютный URL.

  • Возвращает абсолютный URL (строка).
  • $url — URL в любом виде (строка).
  • $baseUrl — абсолютный URL отправной страницы (со слешем на конце). Если $baseUrl не указано, берется URL главной страницы сайта.

Url::convertToRelative($url, $baseUrl=null)

Преобразует URL в любом виде в относительный URL.

  • Возвращает относительный URL (строка).
  • $url — URL в любом виде (строка).
  • $baseUrl — абсолютный URL отправной страницы (со слешем на конце). Если $baseUrl не указано, берется URL главной страницы сайта.

Url::decode($str)

Метод используется для раскодирования строк, закодированных методом Url::encode().

  • Возвращает раскодированную строку.
  • $str — строка, закодированная методом Url::encode().

Url::encode($str)

Кодирует строку следующими знаками: буквы латинского алфавита обоих регистров, цифры, дефис и нижняя черта.

  • Возвращает закодированную строку
  • $str — любая строка.

Используется обычно для передачи через URL другого URL как параметра, в основном в служебных скриптах системы управления. Хотя для этой цели годится и функция urlencode(), однако последняя не подойдет для повторной передачи того же параметра, так как при получении параметр будет автоматически раскодирован.

Закодированный же методом Url::encode() параметр можно подвергать многократным редиректам. В конце цепочки передач этот параметр нужно раскодировать с помощью метода Url::decode(). Кодирование основано на функции base64_encode() с доп. заменой трех запрещенных в URL знаков: +/=.

Url::exists($url)

Проверить, существует ли URL.


  • Возвращает true|false.
  • $url — абсолютный URL.

Url::getAbsUrlComponents($url)

Разбирает URL и возвращает его компоненты:
http://username:password@hostname/path?query=value#fragment

  • Возвращает массив:
    [scheme] => http
    [host] => hostname
    [user] => username
    [pass] => password
    [path] => /path
    [query] => query=value
    [fragment] => fragment

Напоминает php-функцию parse_url(). Отличие заключается в том, что обрабатываются также и URL без схемы (//www.host.ru/path/) и без хоста (/path/).

Url::punyDecode($url)

Декодирует доменное имя в составе URL из punycode в оригинальный вид.

  • Возвращает URL в национальном алфавите, если было закодировано в punycode (например, http://xn--90at9a.xn--p1ai/новости/ в http://члб.рф/новости/)
  • $url — URL или доменное имя (строка).

Пример: $decodedUrl = Url::punyDecode($encodedUrl);

Url::punyEncode($url)

Кодирует доменное имя, написанное не ASCII-символами, в составе URL в punycode, который будет состоять только из алфавитно-цифровых символов, разрешенных в доменных именах.

  • Возвращает URL с доменом, закодированным в punycode (например, http://члб.рф/новости/ в http://xn--90at9a.xn--p1ai/новости/)
  • $url — URL или доменное имя (строка).

Пример: $encodedUrl = Url::punyEncode($url);

По состоянию на ноябрь 2015 года, для современных браузеров кодирование URL производить не нужно, кроме Mozilla Firefox.

Url::arrayToQuery($arr, $options=[])

Можно применять короткую форму записи опций — см. Arr::formatOptions().

Пример: echo Url::arrayToQuery([‘pick’ => [1=>[‘eq’=>3], 2=>[‘eq’=>’https://bloxcms.net’]]]);
выведет ‘&pick[1][eq]=3&pick[2][eq]=https%3A%2F%2Fbloxcms.net’.

Url::queryToArray($phref, $options=[])

  • Возвращает ассоциативный массив.
  • $phref — относительный параметрический URL вида ?page=2&block=4&. (или фрагмент url-запроса).
  • $options — массив с опциями:

Можно применять короткую форму записи опций — см. Arr::formatOptions().

Url::redirect($url, $options=[])

Метод для перенаправления на другой URL.

  • Возвращает false при попытке перенаправить на адрес страницы, которая привела пользователя на текущую страницу (только при наличии опции loopProtection).
  • $url — URL целевой страницы может быть в любом виде: в параметрическом или человекопонятном, в абсолютном или относительно главной страницы (строка).
  • $options — массив опций. Ниже приведены опции по умолчанию:

Для булевых опций можно применять короткую форму записи. Подробности см. в описании метода Arr::formatOptions(), который и применен внутри описываемого метода.

Булевы опции допустимо записывать как неассоциативный массив:
$options = [‘exit’, ‘puny-encode’];

Более того, если опция только одна, допустимо записывать ее в виде строки:
$options = ‘exit’;

Список всех кодов для опции status:
300: Multiple Choices (множество выборов)
301: Moved Permanently (перемещено навсегда)
302: Moved Temporarily (перемещено временно, устарело, используй 303 или 307)
302: Found (найдено, устарело, используй 303 или 307)
303: See Other (смотреть другое, использовать вместо 302)
304: Not Modified (не изменялось)
305: Use Proxy (использовать прокси)
306: зарезервировано, код использовался только в ранних спецификациях
307: Temporary Redirect (временное перенаправление, использовать вместо 302)

Пример шаблона для перенаправления

Url::redirectToReferrer($options=[])

Перенаправление обратно на предыдущую страницу. Описание параметра $options см. выше в Url::redirect().

Если в URL есть параметр pagehref, он кодируется заново, так как в $_SERVER[‘HTTP_REFERER’] этот параметр идет в раскодированном виде.

Понравилась статья? Поделиться с друзьями:
Кодинг, CSS и SQL
Sr.No. Method & Description
1