日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

Java网络编程之URLConnection

發布時間:2023/12/19 综合教程 42 生活家
生活随笔 收集整理的這篇文章主要介紹了 Java网络编程之URLConnection 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Java網絡編程之URLConnecton

一、URLConnection簡介

  URLConnection是一個抽象類,表示指向URL指定資源的活動連接。URLConnection有兩個不同但相關的用途。首先,與URL類相比,它對與服務器(特別是HTTP服務器)的交互提供了更多的控制。URLConnection可以檢查服務器發送的首部,并相應地做出響應。他可以設置客戶端請求中使用的首部字段。最后,URLConnection可以用POST。PUT和其它HTTP請求方法向服務器發回數據,此類的實例可用于讀取和寫入此URL引用的資源。使用URLConnection對象一般分為以下7步:

 ?、賱摻ㄒ粋€URL對象;

 ?、谕ㄟ^URL對象的openConnection方法創建URLConnection對象;  

 ?、弁ㄟ^URLConnection對象提供的方法可以設置參數和一般請求屬性。常用的請求屬性設置方式有以下幾種:

  public void setRequestProperty(String key,String value)設置指定的請求關鍵字對應的值

  public void setDoInput(boolean doinput)設置是否使用URL連接進行輸入,默認值為true

  public void setDoOutput(boolean dooutput)設置是否使用URL連接進行輸出,默認值為false,如果設置為true,就可以獲取一個字節輸出流,用于將數據發送到服務器

  public void setUseCaches(boolean usecaches)設置此連接是否使用任何可用的緩存,默認值為true

  ④調用URLConnection對象的connect方法連接到該遠程資源

 ?、葸B接到服務器后,就可以查詢頭部信息了,查詢頭部信息常用方法有以下幾種:

  public String getHeaderField(String name)返回指定頭字段的值

  public Map<String,List<String>>getHeaderFields()返回頭字段的不可修改的Map

  public String getContentType()返回content-type頭字段的值

  public String getContentEncoding()返回content-encoding的值

 ?、瞢@取輸入流訪問資源數據。使用getInputStream 方法,獲取一個字節輸入流,以便讀取資源信息

 ?、攉@取輸入流并寫數據

二、URLConnection數據結構

  HttpURLConnection是URLConnection類的子類, URLConnection與HttpURLConnection都是抽象類,無法直接實例化對象。其對象主要通過URL的openConnection()方法獲得

三、URLConnection方法摘要

構造方法摘要
protected URLConnection(URLurl)
構造一個到指定 URL 的 URL 連接。


方法摘要
void addRequestProperty(Stringkey, Stringvalue)

添加由鍵值對指定的一般請求屬性。
abstract
void
connect()

打開到此 URL 引用的資源的通信鏈接(如果尚未建立這樣的連接)。
boolean getAllowUserInteraction()

返回此對象的 allowUserInteraction 字段的值。
int getConnectTimeout()

返回連接超時設置。
Object getContent()

獲取此 URL 連接的內容。
Object getContent(Class[]classes)
獲取此
URL 連接的內容。
String getContentEncoding()

返回 content-encoding 頭字段的值。
int getContentLength()

返回 content-length 頭字段的值。
String getContentType()

返回 content-type 頭字段的值。
long getDate()

返回 date 頭字段的值。
staticboolean getDefaultAllowUserInteraction()

返回 allowUserInteraction 字段的默認值。
staticString getDefaultRequestProperty(Stringkey)

已過時。應在獲得 URLConnection 的適當實例后使用特定 getRequestProperty
方法的實例。
boolean getDefaultUseCaches()

返回 URLConnectionuseCaches
標志的默認值。
boolean getDoInput()

返回此 URLConnectiondoInput
標志的值。
boolean getDoOutput()

返回此 URLConnectiondoOutput
標志的值。
long getExpiration()

返回 expires 頭字段的值。
staticFileNameMap getFileNameMap()

從數據文件加載文件名映射(一個 mimetable)。
String getHeaderField(intn)

返回第 n 個頭字段的值。
String getHeaderField(Stringname)

返回指定的頭字段的值。
long getHeaderFieldDate(Stringname,
longDefault)

返回解析為日期的指定字段的值。
int getHeaderFieldInt(Stringname,
intDefault)

返回解析為數字的指定字段的值。
String getHeaderFieldKey(intn)

返回第 n 個頭字段的鍵。
Map<String,List<String>> getHeaderFields()

返回頭字段的不可修改的 Map。
long getIfModifiedSince()

返回此對象的 ifModifiedSince 字段的值。
InputStream getInputStream()

返回從此打開的連接讀取的輸入流。
long getLastModified()

返回 last-modified 頭字段的值。
OutputStream getOutputStream()

返回寫入到此連接的輸出流。
Permission getPermission()

返回一個權限對象,其代表建立此對象表示的連接所需的權限。
int getReadTimeout()

返回讀入超時設置。
Map<String,List<String>> getRequestProperties()

返回一個由此連接的一般請求屬性構成的不可修改的 Map。
String getRequestProperty(Stringkey)

返回此連接指定的一般請求屬性值。
URL getURL()

返回此 URLConnectionURL 字段的值。
boolean getUseCaches()

返回此 URLConnectionuseCaches
字段的值。
staticString guessContentTypeFromName(Stringfname)
根據 URL
的指定 "file" 部分嘗試確定對象的內容類型。
staticString guessContentTypeFromStream(InputStreamis)

根據輸入流的開始字符嘗試確定輸入流的類型。
void setAllowUserInteraction(booleanallowuserinteraction)

設置此 URLConnectionallowUserInteraction
字段的值。
void setConnectTimeout(inttimeout)

設置一個指定的超時值(以毫秒為單位),該值將在打開到此 URLConnection 引用的資源的通信鏈接時使用。
staticvoid setContentHandlerFactory(ContentHandlerFactoryfac)

設置應用程序的 ContentHandlerFactory
staticvoid setDefaultAllowUserInteraction(booleandefaultallowuserinteraction)

將未來的所有 URLConnection 對象的
allowUserInteraction 字段的默認值設置為指定的值。
staticvoid setDefaultRequestProperty(Stringkey, Stringvalue)

已過時。應在獲得 URLConnection 的適當實例后使用特定 setRequestProperty
方法的實例。調用此方法沒有任何作用。
void setDefaultUseCaches(booleandefaultusecaches)

useCaches 字段的默認值設置為指定的值。
void setDoInput(booleandoinput)

將此 URLConnectiondoInput
字段的值設置為指定的值。
void setDoOutput(booleandooutput)

將此 URLConnectiondoOutput
字段的值設置為指定的值。
staticvoid setFileNameMap(FileNameMapmap)

設置 FileNameMap。
void setIfModifiedSince(longifmodifiedsince)

將此 URLConnectionifModifiedSince
字段的值設置為指定的值。
void setReadTimeout(inttimeout)

將讀超時設置為指定的超時值,以毫秒為單位。
void setRequestProperty(Stringkey, Stringvalue)

設置一般請求屬性。
void setUseCaches(booleanusecaches)

將此 URLConnectionuseCaches
字段的值設置為指定的值。
String toString()

返回此 URL 連接的 String 表示形式。

參考文章:

  http://blog.csdn.net/im_xiao/article/details/51125201

如果,您對我的這篇博文有什么疑問,歡迎評論區留言,大家互相討論學習。
如果,您認為閱讀這篇博客讓您有些收獲,不妨點擊一下右下角的【推薦】。
如果,您希望更容易地發現我的新博客,不妨點擊一下左下角的【關注我】。
如果,您對我的博文感興趣,可以關注我的后續博客,我是【AlbertRui】。

轉載請注明出處和鏈接地址,歡迎轉載,謝謝!

總結

以上是生活随笔為你收集整理的Java网络编程之URLConnection的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。