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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java基础篇---网络编程(IP与URL)

發布時間:2023/12/19 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java基础篇---网络编程(IP与URL) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一:IP與InetAddress

在Java中支持網絡通訊程序的開發,主要提供了兩種通訊協議:TCP協議,UDP協議

  • 可靠地連接傳輸,使用三方握手的方式完成通訊
  • 不可靠的連接傳輸,傳輸的時候接受方不一定可以接受的到

在Java中的所有網絡程序的開發類都在java.net包中存在

IP地址簡介

  • IP地址是指互聯網協議地址(英語:Internet Protocol Address,又譯為網際協議地址),是IP Address的縮寫。IP地址是IP協議提供的一種統一的地址格式,它為互聯網上的每一個網絡和每一臺主機分配一個邏輯地址,以此來屏蔽物理地址的差異。

IP地址表示

  • IP地址是一個32位的二進制數,通常被分割為4個“8位二進制數”(也就是4個字節)。IP地址通常用“點分十進制”表示成(a.b.c.d)的形式,其中,a,b,c,d都是0~255之間的十進制整數。例:點分十進IP地址(100.4.5.6)

IP地址格式

  • ?IP地址=網絡地址+主機地址
  •   網絡號:用于識別主機所在的網絡
  •   主機號:用于識別該網絡中的主機

IP地址中存在掩碼的功能主要區分網絡號和主機號

IP地址分類

最初設計互聯網絡時,為了便于尋址以及層次化構造網絡,每個IP地址包括兩個標識碼(ID),即網絡ID和主機ID。同一個物理網絡上的所有主機都使用同一個網絡ID,網絡上的一個主機(包括網絡上工作站,服務器和路由器等)有一個主機ID與其對應。Internet委員會定義了5種IP地址類型以適合不同容量的網絡,即A類~E類。 其中A、B、C3類(如下表格)由InternetNIC在全球范圍內統一分配,D、E類為特殊地址。

?

類別 最大網絡數 IP地址范圍 最大主機數 私有IP地址范圍
A 126(2^7-2) 0.0.0.0-127.255.255.255 16777214 10.0.0.0-10.255.255.255
B 16384(2^14) 128.0.0.0-191.255.255.255 65534 172.16.0.0-172.31.255.255
C 2097152(2^21) 192.0.0.0-223.255.255.255 254 192.168.0.0-192.168.255.255

特殊的網址

  • 每一個字節都為0的地址(“0.0.0.0”)對應于當前主機;
  • IP地址中的每一個字節都為1的IP地址(“255.255.255.255”)是當前子網的廣播地址;
  • IP地址中凡是以“11110”開頭的E類IP地址都保留用于將來和實驗使用。
  • IP地址中不能以十進制“127”作為開頭,該類地址中數字127.0.0.1到127.255.255.255用于回路測試,如:127.0.0.1可以代表本機IP地址,用“http://127.0.0.1”就可以測試本機中配置的Web服務器。
  • 網絡ID的第一個8位組也不能全置為“0”,全“0”表示本地網絡。
  • InetAddress

    InetAddress類主要表示IP地址,這個類有兩個子類:Inet4Address,Inet6Address,一個用于表示IPV4,另一個表示IPV6協議

    隨著網絡上的主機越來越多,IPV4地址不足夠表示,然后產生了IPV6了

    InetAddress類的具體方法可查詢API

    本機IP查詢

    package com.oumyye.網絡編程; import java.net.InetAddress ;public class InetAddressDemo{public static void main(String args[]) throws Exception {// 所有異常拋出InetAddress locAdd = null ;locAdd = InetAddress.getLocalHost() ;// 得到本機System.out.println("本機的IP地址:" + locAdd.getHostAddress()) ;System.out.println("本機是否可達:" + locAdd.isReachable(5000)) ;} };

    URL

    統一資源定位符是對可以從互聯網上得到的資源的位置和訪問方法的一種簡潔的表示,是互聯網上標準資源的地址。互聯網上的每個文件都有一個唯一的URL,它包含的信息指出文件的位置以及瀏覽器應該怎么處理它。,可以直接使用此類找到互聯網上的資源

    package com.oumyye.網絡編程;import java.net.URL ; import java.io.InputStream ; import java.util.Scanner ; public class URLDemo{public static void main(String args[]) throws Exception { // 所有異常拋出URL url = new URL("http","www.baidu.com",80,"/") ;InputStream input = url.openStream() ; // 打開輸入流Scanner scan = new Scanner(input) ; // 實例化Scanner類scan.useDelimiter("\n") ; // 設置讀取分隔符while(scan.hasNext()){System.out.println(scan.next()) ;}} };

    URLConnection是封裝遠程網絡資源的一般方法類,通過它可以與遠程服務器連接,檢查遠程資源的一些屬性

    package com.oumyye.網絡編程;import java.net.URL ; import java.net.URLConnection ; import java.io.InputStream ; import java.util.Scanner ; public class URLConnectionDemo{public static void main(String args[]) throws Exception { // 所有異常拋出URL url = new URL("http://www.oumyye.com") ;URLConnection urlCon = url.openConnection() ; // 建立連接System.out.println("內容大小:" + urlCon.getContentLength()) ;System.out.println("內容類型:" + urlCon.getContentType()) ;} };

    ?

    URLEncoder與URLDecocder

    具體內容

    Encoder最早是從電報中而來,使用Encoder進行編碼,而使用Decoder進行解碼操作在網絡中常存在這樣的編碼和解碼的操作。

    在使用URL訪問的時候,經常會看到在地址之后會有很多其他的附帶信息。

    例如:http://www.baidu.com/index.php?tn=87041025_adr&ch=33

    編碼實例

    package com.oumyye.網絡編程; import java.net.URLDecoder ; import java.net.URLEncoder ; public class CodeDemo{public static void main(String args[]) throws Exception{String keyWord = "偶my耶" ; String encod = URLEncoder.encode(keyWord,"UTF-8") ; // 進行編碼的操作System.out.println("編碼之后的內容:" + encod) ;String decod = URLDecoder.decode(encod,"UTF-8") ; // 進行解碼操作System.out.println("解碼之后的內容:" + decod) ;} };

    ?

    轉載于:https://www.cnblogs.com/oumyye/p/4266021.html

    總結

    以上是生活随笔為你收集整理的java基础篇---网络编程(IP与URL)的全部內容,希望文章能夠幫你解決所遇到的問題。

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