zoukankan      html  css  js  c++  java
  • JAVA基础知识总结:二十一

    一、URL和URLConnection

    1.HTTP
    超文本传输协议
    是一个应用层的协议
    是一个被动的协议
    只有客户端主动给服务端发送消息,服务端才会给客户端一个响应


    2.URL
    统一的资源定位符(网址)
    指向一个网络上的资源

    格式:网络通信协议://主机:端口/要访问的文件路径?参数键1=参数值1&参数键2=参数值2.。。。。
    如果没有写端口号的话,默认为80
    举例:http://image.baidu.com/search/index?tn=baiduimage&ct=201326592&lm=-1&cl=2&ie=gbk&word=%CD%BC%C6%AC&fr=ala&ala=1&alatpl=others&pos=0

    常用构造方法:
    URL(String spec)
    根据 String 表示形式创建 URL 对象。
    URLConnection openConnection()
    返回一个 URLConnection 对象,它表示到 URL 所引用的远程对象的连接。

    URL:为了建立一个本机到网络指定资源的通道,就可以直接访问网络资源


    3.URLConnection
    是一个抽象类,无法实例化对象
    如果要访问指定的网络资源,则需要用到URLConnection,表示应用程序和URL之间的连接,

    常用方法:
    getInputStream:获取一个网络到本机的输入流
    getOutputStream:获取本机到网络的输出流


    4.HttpURLConnection
    也是一个抽象类,是URLConnection的子类
    定义了一些常用的字段
    HTTP_OK 200 请求成功
    HTTP_NOT_FOUND 404 要请求的资源不存在
    HTTP_FORBIDDEN 403 访问被拒绝
    HTTP_UNAVAILABLE 503 服务无法访问

    常用的方法
    int getResponseCode()
    从 HTTP 响应消息获取状态码。

    String getResponseMessage()
    获取与来自服务器的响应代码一起返回的 HTTP 响应消息(如果有)。

    setReadTimeout
    设置一个请求的超时时间
    一个请求在发出去之后,如果在指定的时间之内未收到响应,则认为请求超时
    区分sleep,sleep会阻塞线程,在设置的时间之内是静态的,setReadTimeout在设置的时间之内是动态的,一直在向服务器请求数据
    如果在指定的时间之内服务器没有响应的话,则会抛出SocketTimeoutException


    应用:
    a.使用URLconnection将一张网络图片下载到本地
    b.使用URLConnection请求网络数据到本地



  • 相关阅读:
    内核模块的一些问题
    [转]change the linux startup logo
    raspbian 静态IP
    [转]centos7 配置yum源(本地+光盘)
    [转]source inslght使用指导
    T420修改wifi灯闪动模式
    root运行chrome
    [转]理解阻塞非阻塞与同步异步
    [转] 计算机体系架构分类
    Win7下安装 Oracle Virtual Box
  • 原文地址:https://www.cnblogs.com/lidar/p/7743303.html
Copyright © 2011-2022 走看看