English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
L'URL (Uniform Resource Locator) est appelé identificateur de ressource uniforme en chinois, et est parfois appelé adresse de site Web. Il représente les ressources sur Internet, telles que des pages Web ou des adresses FTP.
Dans cette section, nous allons expliquer comment Java traite les URL. Les URL peuvent être divisées en plusieurs parties.
protocole ://hôte:port/path?query#fragment
Le protocole (protocol) peut être HTTP, HTTPS, FTP et File, le port est le numéro de port, et le chemin est le chemin d'accès au fichier et le nom du fichier.
Voici un exemple d'URL de protocole HTTP :
http://fr.oldtoolbag.com/index.html?language=cn#j2se
Analyse des URL :
protocole (protocol) :http
hôte (host:port):fr.oldtoolbag.com
port (port) : 80, l'exemple d'URL suivant n'a pas spécifié le port, car le port par défaut du protocole HTTP est 80。
chemin du fichier (path) :/index.html
paramètres de requête:language=cn
position de localisation (fragment) :j2se, pour localiser le fragment d'identifiant j2emplacement des éléments HTML.
La classe URL est définie dans le paquet java.net, utilisée pour traiter les contenus concernant les URL. Une présentation détaillée de la création et de l'utilisation de la classe URL suit.
java.net.URL offre de nombreuses méthodes de construction d'URL et peut être utilisé pour obtenir des ressources.
numéro | description de la méthode |
---|---|
1 | public URL(String protocol, String host, int port, String file) throws MalformedURLException. Créer une URL à partir des paramètres donnés (protocole, nom d'hôte, port, nom de fichier). |
2 | public URL(String protocol, String host, String file) throws MalformedURLException Créer une URL en utilisant le protocole spécifié, le nom d'hôte, le nom de fichier, le port utilise le port par défaut du protocole. |
3 | public URL(String url) throws MalformedURLException Créer une URL à partir de la chaîne de caractères d'URL donnée |
4 | public URL(URL context, String url) throws MalformedURLException Créer en utilisant l'adresse de base et l'URL relative |
La classe URL contient de nombreux méthodes pour accéder aux différentes parties d'une URL, les méthodes spécifiques et leurs descriptions sont les suivantes :
numéro | description de la méthode |
---|---|
1 | public String getPath() Retourner la partie chemin de l'URL. |
2 | public String getQuery() Retourner la partie requête de l'URL. |
3 | public String getAuthority() Obtenir la partie autorisation de cette URL. |
4 | public int getPort() Retourner la partie port de l'URL. |
5 | public int getDefaultPort() Retourner le port par défaut du protocole. |
6 | public String getProtocol() Retourner le protocole de l'URL. |
7 | public String getHost() Retourner le hôte principal de l'URL. |
8 | public String getFile() Retourner la partie fichier de l'URL. |
9 | public String getRef() Obtenir l'ancrage de cette URL (également appelé "référence"). |
10 | public URLConnection openConnection() throws IOException Ouvrir une connexion URL et exécuter le client pour accéder aux ressources. |
L'exemple suivant montre comment utiliser la classe URL de java.net pour obtenir les différentes parties d'une URL :
import java.net.*; import java.io.*; public class URLDemo { public static void main(String [] args) { try { URL url = new URL("http://fr.oldtoolbag.com/index.html?language=cn#j2se"); System.out.println("L'URL est : ") + url.toString()); System.out.println("Le protocole est : ") + url.getProtocol()); System.out.println("Vérification de l'information : ") + url.getAuthority()); System.out.println("nom de fichier et paramètres de la requête : ", + url.getFile()); System.out.println("nom d'hôte : ", + url.getHost()); System.out.println("chemin : ", + url.getPath()); System.out.println("port : ", + url.getPort()); System.out.println("port par défaut : ", + url.getDefaultPort()); System.out.println("paramètres de la requête : ", + url.getQuery()); System.out.println("position : ", + url.getRef()); }catch(IOException e) { e.printStackTrace(); } } }
Les résultats de compilation et d'exécution des exemples ci-dessus sont les suivants :
L'URL est : http://fr.oldtoolbag.com/index.html?language=cn#j2se le protocole est : http informations de validation : fr.oldtoolbag.com nom de fichier et paramètres de la requête :/index.html?language=cn nom d'hôte : fr.oldtoolbag.com chemin :/index.html port :-1 port par défaut :80 paramètres de la requête : language=cn position : j2se
openConnection() retourne un java.net.URLConnection.
par exemple :
Si l'URL que vous connectez est un protocole HTTP, la méthode openConnection() retourne un objet HttpURLConnection.
Si l'URL que vous connectez est un fichier JAR, la méthode openConnection() retourne un objet JarURLConnection.
etc...
La liste des méthodes de URLConnection est la suivante :
numéro | description de la méthode |
---|---|
1 | Object getContent() recherche du contenu du lien URL |
2 | Object getContent(Class[] classes) recherche du contenu du lien URL |
3 | String getContentEncoding() retourne l'en-tête content-valeur du champ encoding. |
4 | int getContentLength() retourne l'en-tête content-valeur du champ length |
5 | String getContentType() retourne l'en-tête content-type valeur du champ |
6 | int getLastModified() 返回头部last-modified字段值。 |
7 | long getExpiration() 返回头部expires字段值。 |
8 | long getIfModifiedSince() 返回对象的ifModifiedSince字段值。 |
9 | public void setDoInput(boolean input) URL连接可用于输入和/或输出。如果打算使用URL连接进行输入,则将DoInput标志设置为true;如果不打算使用,则设置为false。默认值为true。 |
10 | public void setDoOutput(boolean output) URL连接可用于输入和/或输出。如果打算使用URL连接进行输出,则将DoOutput标志设置为true;如果不打算使用,则设置为false。默认值为false。 |
11 | public InputStream getInputStream() throws IOException 返回URL的输入流,用于读取资源 |
12 | public OutputStream getOutputStream() throws IOException 返回URL的输出流,用于写入资源。 |
13 | public URL getURL() 返回URLConnection对象连接的URL |
以下示例中URL采用了HTTP 协议。openConnection 返回HttpURLConnection对象。
import java.net.*; import java.io.*; public class URLConnDemo { public static void main(String [] args) { try { URL url = new URL("http://fr.oldtoolbag.com"); URLConnection urlConnection = url.openConnection(); HttpURLConnection connection = null; if(urlConnection instanceof HttpURLConnection) { connection = (HttpURLConnection) urlConnection; } else { System.out.println("Please enter URL address"); return; } BufferedReader in = new BufferedReader( new InputStreamReader(connection.getInputStream())); String urlString = ""; String current; while((current = in.readLine()) != null) { urlString += current; } System.out.println(urlString); }catch(IOException e) { e.printStackTrace(); } } }
The compilation and execution results of the above examples are as follows:
$ javac URLConnDemo.java $ java URLConnDemo ...Here will output the homepage of the basic tutorial website (http://fr.oldtoolbag.com) HTML content...