首页 > 其他分享 >无涯教程-URL Processing函数

无涯教程-URL Processing函数

时间:2023-12-19 17:32:43浏览次数:38  
标签:返回 URL Processing 无涯 System url 字符串 println

URL代表"统一资源定位器",代表万维网上的资源,例如网页或FTP目录。

本节向您展示如何编写与URL通信的Java程序。 URL可以分为以下部分:

protocol://host:port/path?query#ref

例s 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.

以下是协议为HTTP的网页的URL-

https://www.amrood.com/index.htm?language=en#j2se

请注意,此URL未指定端口,在这种情况下,将使用协议的默认端口。使用HTTP时,默认端口为80。

URL类方法

java.net.URL 类代表一个URL,并具有一套完整的方法来操纵Java中的URL。

URL类具有几个用于创建URL的构造函数,包括以下内容-

Sr.No. Constructors & Description
1

公共URL(字符串协议,字符串主机,int端口,字符串文件)抛出MalformedURLException

通过将给定的部分放在一起来创建URL。

2

公共URL(字符串协议,字符串主机,字符串文件)抛出MalformedURLException

除使用给定协议的默认端口外,其他与之前的构造函数相同。

3

公共URL(字符串url)引发MalformedURLException

从给定的字符串创建一个URL。

4

公共URL(URLcontext,字符串url)抛出MalformedURLException

通过将URL和String参数一起解析来创建URL。

URL类包含许多用于访问表示的URL各个部分的方法。 URL类中的某些方法包括以下内容-

Sr.No. Method & Description
1

公共字符串getPath()

返回URL的路径。

2

公共字符串getQuery()

返回URL的查询部分。

3

公共字符串getAuthority()

返回URL的权限。

4

public int getPort()

返回URL的端口。

5

public int getDefaultPort()

返回URL协议的默认端口。

6

公共字符串getProtocol()

返回URL的协议。

7

公共字符串getHost()

返回URL的主机。

8

公共字符串getHost()

返回URL的主机。

9

公共字符串getFile()

返回URL的文件名。

10

公共字符串getRef()

返回URL的参考部分。

11

公共URLConnection openConnection()引发IOException

打开与URL的连接,允许客户端与资源进行通信。

以下URLDemo程序演示了URL的各个部分。在命令行上输入URL,URLDemo程序输出给定URL的每个部分。

//File Name : URLDemo.java
import java.net.*;
import java.io.*;

public class URLDemo {

   public static void main(String [] args) {
      try {
         URL url = new URL("https://www.amrood.com/index.htm?language=en#j2se");
         
         System.out.println("URL is " + url.toString());
         System.out.println("protocol is " + url.getProtocol());
         System.out.println("authority is " + url.getAuthority());
         System.out.println("file name is " + url.getFile());
         System.out.println("host is " + url.getHost());
         System.out.println("path is " + url.getPath());
         System.out.println("port is " + url.getPort());
         System.out.println("default port is " + url.getDefaultPort());
         System.out.println("query is " + url.getQuery());
         System.out.println("ref is " + url.getRef());
      } catch (IOException e) {
         e.printStackTrace();
      }
   }
}

该程序的示例运行将产生以下输出-

输出

URL is https://www.amrood.com/index.htm?language=en#j2se
protocol is http
authority is www.amrood.com
file name is /index.htm?language=en
host is www.amrood.com
path is /index.htm
port is -1
default port is 80
query is language=en
ref is j2se

URLConnections类方法

openConnection()方法返回 java.net.URLConnection ,这是一个抽象类,其子类表示各种类型的URL连接。

例如-

  • 如果连接到协议为HTTP的URL,则openConnection()方法将返回HttpURLConnection对象。

  • 如果连接到表示JAR文件的URL,则openConnection()方法将返回JarURLConnection对象,等等。

URLConnection类具有许多用于设置或确定有关连接信息的方法,包括以下几种:

Sr.No. Method & Description
1

对象getContent()

检索此URL连接的内容。

2

对象getContent(Class []类)

检索此URL连接的内容。

3

String getContentEncoding()

返回内容编码标头字段的值。

4

int getContentLength()

返回content-length标头字段的值。

5

字符串getContentType()

返回内容类型标题字段的值。

6

int getLastModified()

返回最后修改的标头字段的值。

7

long getExpiration()

返回过期的标头字段的值。

8

long getIfModifiedSince()

返回此对象的ifModifiedSince字段的值。

9

public void setDoInput(布尔输入)

传入true表示该连接将用于输入。默认值为true,因为客户端通常从URLConnection读取。

10

public void setDo输出(boolean output)

传入true表示该连接将用于输出。默认值为false,因为许多类型的URL不支持写入。

11

公共InputStream getInputStream()引发IOException

返回URL连接的输入流,以从资源中读取。

12

public 输出Stream get输出Stream() throws IOException

返回用于写入资源的URL连接的输出流。

13

公共URL getURL()

返回此URLConnection对象连接到的URL。

以下URLConnectionDemo程序连接到从命令行输入的URL。

如果URL表示HTTP资源,则将连接强制转换为HttpURLConnection,并且一次读取一行中的数据。

//File Name : URLConnDemo.java
import java.net.*;
import java.io.*;

public class URLConnDemo {

   public static void main(String [] args) {
      try {
         URL url = new URL("https://www.amrood.com");
         URLConnection urlConnection = url.openConnection();
         HttpURLConnection connection = null;
         if(urlConnection instanceof HttpURLConnection) {
            connection = (HttpURLConnection) urlConnection;
         }else {
            System.out.println("Please enter an HTTP URL.");
            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();
      }
   }
}

该程序的示例运行将产生以下输出-

输出

$java URLConnDemo

.....a complete HTML content of home page of amrood.com.....

参考链接

https://www.learnfk.com/java/java-url-processing.html

标签:返回,URL,Processing,无涯,System,url,字符串,println
From: https://blog.51cto.com/u_14033984/8891566

相关文章

  • 无涯教程-Java - Comparator 比较器函数
    TreeSet和TreeMap都按排序顺序存储元素。但是,比较器(Comparator)精确地定义了排序顺序的含义。比较器(Comparator)接口定义了两个方法:compare()和equals()。Compare方法intcompare(Objectobj1,Objectobj2)obj1和obj2是要比较的对象。如果对象相等,则此方法返回零。如果obj......
  • 无涯教程-Java - IdentityHashMap 类函数
    以下是IdentityHashMap支持的构造函数的列表。Sr.No.Constructor&Remark1IdentityHashMap()该构造函数构造一个新的,空的哈希,其默认预期最大大小为(21)。2IdentityHashMap(intExpectedMaxSize)此构造函数使用指定的预期最大大小构造一个新的空IdentityHashMap。......
  • 无涯教程-Java - WeakHashMap 类函数
    WeakHashMap是Map接口的实现,该接口仅存储对其键的弱引用,当不再在WeakHashMap之外引用键值对时,仅存储弱引用将允许对键值对进行垃圾回收。以下是WeakHashMap类支持的构造函数的列表。Sr.No.Constructor&Remark1WeakHashMap()此构造函数使用默认的初始容量(16)和默认的加......
  • 无涯教程-Java - TreeMap 类函数
    TreeMap类通过使用树来实现Map接口。TreeMap提供了一种有效的方式来按排序顺序存储键/值对,并允许快速检索。以下是TreeMap类支持的构造函数的列表。Sr.No.Constructors&Remark1TreeMap()此构造函数构造一个空的树Map,将使用其键的自然顺序对其进行排序。2TreeMap(......
  • covariance matrix in signal processing
    cross-covarianceInthecaseofcomplexrandomvariables,thecovarianceisdefinedslightlydifferentlycomparedtorealrandomvariables.Forcomplexrandomvariables(Z_1)and(Z_2),thecovarianceisdefinedas:\[\text{Cov}(Z_1,Z_2)=E[(Z_1-......
  • 无涯教程-Java - SortedSet 集合接口函数
    SortedSet接口扩展了Set并声明了按升序排序的集合的行为。除了Set定义的那些方法外,SortedSet接口还声明了下表中概述的方法-如果尝试使用null对象并且集合中不允许使用null,则抛出NullPointerException。Sr.No.Method&Remark1Comparatorcomparator()返回调用排序集的比......
  • 无涯教程-Java - Set 集合接口函数
    Set集合是不能包含重复元素的集合,Set接口仅包含从Collection继承的方法,并增加了禁止重复元素的限制。下表总结了Set声明的方法-Sr.No.Method&Remark1add()将对象添加到集合中。2clear()从集合中删除所有对象。3contains()如果指定对象是集合中的元素,则返回t......
  • CURL用法
    curl是一个常用的命令行工具,用于获取或发送数据,支持多种协议,如HTTP、HTTPS、FTP等。以下是使用curl的例子:获取网页内容:curlhttps://www.example.com这个命令会将https://www.example.com的HTML源码打印到控制台。发送POST请求:curl-d"param1=value1&param2=value2"-XP......
  • 无涯教程-Java - Collection 接口函数
    Collection接口是构建收集框架的基础。它声明了所有集合将拥有的核心方法。下表总结了这些方法。Sr.No.Method&Remark1booleanadd(Objectobj)将obj添加到调用集合中。如果将obj添加到集合中,则返回true。如果obj已经是集合的成员,或者该集合不允许重复,则返回false。2......
  • 【干货】网络安全之URL过滤
    原创:厦门微思网络URL过滤是一种针对用户的URL请求进行上网控制的技术,通过允许或禁止用户访问某些网页资源,达到规范上网行为和降低安全风险的目的。URL过滤可以基于URL分类、特定URL等多种方式限制URL访问。URL过滤的主要作用如下:1、限制访问业务无关网站,提升企业工作效率、减少带宽......