欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

java.net.UnknownHostException異常的一般原因及解決步驟

 更新時(shí)間:2024年02月29日 10:03:39   作者:張紫娃  
關(guān)于java.net.UnknownHostException大家也許都比較熟悉,這篇文章主要給大家介紹了關(guān)于java.net.UnknownHostException異常的一般原因及解決步驟,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下

UnknownHostException 一般原因

UnknownHostException 是Java編程中常見的一個(gè)網(wǎng)絡(luò)異常,通常在試圖通過域名查找并連接到一個(gè)主機(jī)時(shí)拋出。這個(gè)異常的主要原因有以下幾點(diǎn):

1、DNS解析失敗: 當(dāng)Java程序嘗試將一個(gè)域名轉(zhuǎn)換為IP地址(即執(zhí)行DNS解析過程)時(shí),如果DNS服務(wù)器無法找到與該域名對(duì)應(yīng)的IP地址,則會(huì)拋出此異常。這可能是由于:

  • 域名拼寫錯(cuò)誤或格式不正確。
  • DNS服務(wù)器本身的問題,如宕機(jī)、配置錯(cuò)誤或緩存過期等。
  • 網(wǎng)絡(luò)問題導(dǎo)致DNS查詢請(qǐng)求無法到達(dá)DNS服務(wù)器。

2、本地hosts文件配置問題: 在某些情況下,操作系統(tǒng)會(huì)先查看本地的hosts文件來解析域名。

如果hosts文件中沒有對(duì)特定域名的映射,或者映射的IP地址不正確,也會(huì)導(dǎo)致此異常。

3、網(wǎng)絡(luò)連接中斷或受限: 網(wǎng)絡(luò)連接存在問題。

例如防火墻阻止了DNS查詢請(qǐng)求,或者網(wǎng)絡(luò)連接完全斷開,都會(huì)使得DNS解析無法完成。

4、目標(biāo)主機(jī)不存在或不可達(dá):

所要訪問的主機(jī)已下線、遷移或尚未啟動(dòng)服務(wù),因此DNS系統(tǒng)中找不到對(duì)應(yīng)的記錄。

5、臨時(shí)DNS解析延遲:

DNS更改傳播到全球所有DNS服務(wù)器需要時(shí)間,新注冊(cè)的域名或最近修改的DNS記錄可能在短時(shí)間內(nèi)不能被所有地方正確解析。

在開發(fā)環(huán)境中,有時(shí)可以暫時(shí)直接在本地hosts文件中添加域名和IP地址的對(duì)應(yīng)關(guān)系以快速測(cè)試功能。在服務(wù)器發(fā)送求時(shí),就會(huì) 自動(dòng)把域名轉(zhuǎn)成IP 進(jìn)行調(diào)用了。

解決步驟

以CSDN的域名為例(www.csdn.net)

第1步:用有互聯(lián)網(wǎng)的機(jī)器 win+r → cmd 進(jìn)入dos窗口

第2步:執(zhí)行 nslookup www.csdn.net 命令,獲取www.csdn.net域名對(duì)應(yīng)的IP

C:\Users\zhang>nslookup www.csdn.net
服務(wù)器:  public1.114dns.com
Address:  114.114.114.114

非權(quán)威應(yīng)答:
名稱:    55cb88f4.csdn.net.cname.yunduns.com
Address:  123.129.227.28
Aliases:  www.csdn.net

第3步:打開hosts文件Windows:一般在C:\Windows\System32\drivers\etc\hostsLinux:一般在/etc/hosts

第4步:修改hosts文件,把域名和IP寫到hosts文件中,用于把域名解析成IP

第5步:執(zhí)行 ipconfig/flushdns 清除DNS緩存

第6步:完成,這樣就可以調(diào)到CSDN域名下的接口了。如https://www.csdn.net/xxx/login

常見場(chǎng)景

網(wǎng)絡(luò)請(qǐng)求:

當(dāng)你嘗試使用HttpURLConnection、HttpClient等工具通過域名發(fā)起HTTP/HTTPS請(qǐng)求時(shí),如果DNS無法解析目標(biāo)域名的IP地址,則會(huì)拋出此異常。

   URL url = new URL("http://unresolved-domain.com");
   HttpURLConnection conn = (HttpURLConnection) url.openConnection();
   // 此處可能會(huì)拋出UnknownHostException

數(shù)據(jù)庫連接:

在JDBC中,如果你提供的數(shù)據(jù)庫URL是一個(gè)域名而非IP地址,并且該域名無法被DNS解析,那么在建立數(shù)據(jù)庫連接時(shí)也會(huì)拋出此異常。

   String url = "jdbc:mysql://unresolved-db-server:3306/mydatabase";
   Connection conn = DriverManager.getConnection(url, "username", "password");
   // 此處可能會(huì)拋出UnknownHostException

Socket通信:

在直接使用Socket進(jìn)行TCP/IP通信時(shí),如果需要通過域名創(chuàng)建Socket連接,而域名未解析成功,同樣會(huì)觸發(fā)這個(gè)異常。

   try {
       InetAddress address = InetAddress.getByName("unresolved-domain.com");
   } catch (UnknownHostException e) {
       System.out.println("Failed to resolve the host.");
   }

服務(wù)發(fā)現(xiàn)與調(diào)用:

在微服務(wù)架構(gòu)中,客戶端可能依賴于服務(wù)注冊(cè)中心(如Eureka、Consul)獲取其他服務(wù)的地址,如果獲取到的地址是未解析成功的域名,后續(xù)進(jìn)行遠(yuǎn)程服務(wù)調(diào)用時(shí)也會(huì)遇到這個(gè)問題。

總結(jié)

到此這篇關(guān)于java.net.UnknownHostException異常的一般原因及解決步驟的文章就介紹到這了,更多相關(guān)java.net.UnknownHostException異常解決內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 解決SpringBoot引用別的模塊無法注入的問題

    解決SpringBoot引用別的模塊無法注入的問題

    這篇文章主要介紹了解決SpringBoot引用別的模塊無法注入的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-02-02
  • Spring Boot + MyBatis Plus 高效開發(fā)實(shí)戰(zhàn)從入門到進(jìn)階優(yōu)化(推薦)

    Spring Boot + MyBatis Plus 高效開發(fā)實(shí)戰(zhàn)從入

    本文將詳細(xì)介紹 Spring Boot + MyBatis Plus 的完整開發(fā)流程,并深入剖析分頁查詢、批量操作、動(dòng)態(tài) SQL、樂觀鎖、代碼優(yōu)化等實(shí)戰(zhàn)技巧,感興趣的朋友一起看看吧
    2025-04-04
  • Java中Mono類的一些基本方法和示例代碼

    Java中Mono類的一些基本方法和示例代碼

    在Java編程中,我們經(jīng)常會(huì)遇到需要?jiǎng)?chuàng)建單例(singleton)對(duì)象的情況,單例模式是一種常見的設(shè)計(jì)模式,它保證一個(gè)類只有一個(gè)實(shí)例,并提供一個(gè)全局訪問點(diǎn),這篇文章主要給大家介紹了關(guān)于Java中Mono類的相關(guān)資料,需要的朋友可以參考下
    2024-07-07
  • SpringCloud Netfilx Ribbon負(fù)載均衡工具使用方法介紹

    SpringCloud Netfilx Ribbon負(fù)載均衡工具使用方法介紹

    Ribbon是Netflix的組件之一,負(fù)責(zé)注冊(cè)中心的負(fù)載均衡,有助于控制HTTP和TCP客戶端行為。Spring Cloud Netflix Ribbon一般配合Ribbon進(jìn)行使用,利用在Eureka中讀取的服務(wù)信息,在調(diào)用服務(wù)節(jié)點(diǎn)時(shí)合理進(jìn)行負(fù)載
    2022-12-12
  • SpringBoot多環(huán)境配置及配置文件分類實(shí)例詳解

    SpringBoot多環(huán)境配置及配置文件分類實(shí)例詳解

    這篇文章主要介紹了SpringBoot多環(huán)境配置及配置文件分類,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-10-10
  • mybatis中insert主鍵ID獲取和多參數(shù)傳遞的示例代碼

    mybatis中insert主鍵ID獲取和多參數(shù)傳遞的示例代碼

    這篇文章主要介紹了mybatis中insert主鍵ID獲取和多參數(shù)傳遞的示例代碼,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-03-03
  • mybatis中的擴(kuò)展實(shí)現(xiàn)源碼解析

    mybatis中的擴(kuò)展實(shí)現(xiàn)源碼解析

    這篇文章主要介給大家紹了關(guān)于mybatis中擴(kuò)展實(shí)現(xiàn)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-01-01
  • SpringBoot使用Nacos配置中心的實(shí)現(xiàn)

    SpringBoot使用Nacos配置中心的實(shí)現(xiàn)

    這篇文章主要介紹了SpringBoot使用Nacos配置中心的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • Java獲取時(shí)間差(天數(shù)差,小時(shí)差,分鐘差)代碼示例

    Java獲取時(shí)間差(天數(shù)差,小時(shí)差,分鐘差)代碼示例

    這篇文章主要介紹了Java獲取時(shí)間差(天數(shù)差,小時(shí)差,分鐘差)代碼示例,使用SimpleDateFormat來實(shí)現(xiàn)的相關(guān)代碼,具有一定參考價(jià)值,需要的朋友可以了解下。
    2017-11-11
  • SpringBoot中添加監(jiān)聽器及創(chuàng)建線程的代碼示例

    SpringBoot中添加監(jiān)聽器及創(chuàng)建線程的代碼示例

    這篇文章主要介紹了SpringBoot中如何添加監(jiān)聽器及創(chuàng)建線程,文中有詳細(xì)的代碼示例,具有一定的參考價(jià)值,需要的朋友可以參考下
    2023-06-06

最新評(píng)論