Android API 23 java.net.UnknownHostException:无法解析主机;URL";:没有与主机名关联的地址

Android API 23 java.net.UnknownHostException:无法解析主机;URL";:没有与主机名关联的地址,java,android,permissions,Java,Android,Permissions,我面临一个大问题,我试图使用GET方法连接到一个URL。它给了我一个错误java.net.UnknownHostException:无法解析主机“URL”:没有与主机名关联的地址 我一直在读一些帖子,所有人都说这是关于权限的。我的权限是: <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_N

我面临一个大问题,我试图使用GET方法连接到一个URL。它给了我一个错误java.net.UnknownHostException:无法解析主机“URL”:没有与主机名关联的地址

我一直在读一些帖子,所有人都说这是关于权限的。我的权限是:

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.READ_CONTACTS" />

我可以在手机上使用chrome浏览器访问该URL,这意味着wifi可以正常工作

我使用的是摩托罗拉G2,API 23

  • 在日志上打印响应

  • 您是否尝试过切换WiFi或手机或两者,然后重试

  • 当您使用VPN时,可能会发生此问题。我也有类似的问题。断开VPN连接后,我再次尝试连接。它接通了

  • 另外,请尝试重新检查URL,因为UnknownHostException正在弹出,您在程序中传递的URL字符串(可能是URL类)很可能是错误的

  • 希望能有帮助

  • 在日志上打印响应

  • 您是否尝试过切换WiFi或手机或两者,然后重试

  • 当您使用VPN时,可能会发生此问题。我也有类似的问题。断开VPN连接后,我再次尝试连接。它接通了

  • 另外,请尝试重新检查URL,因为UnknownHostException正在弹出,您在程序中传递的URL字符串(可能是URL类)很可能是错误的


  • 希望有帮助。

    您有两种解决问题的方法。快速的方法是将targetApi降低到22(build.gradle文件)。其次是使用新的runtimePermission模型: 因为您的目标api是23,所以您也应该在运行时添加权限

    if (checkSelfPermission(Manifest.permission.READ_EXTERNAL_STORAGE)
            != PackageManager.INTERNET) {
    
        // Should we show an explanation?
        if (shouldShowRequestPermissionRationale(
                Manifest.permission.INTERNET)) {
            // Explain to the user why we need to read the contacts
        }
    
        requestPermissions(new String[]{Manifest.permission.INTERNET},
                MY_PERMISSIONS_REQUEST_INTERNET);
    
        // MY_PERMISSIONS_REQUEST_INTERNET is an
        // app-defined int constant
    
        return;
    }
    

    Sniplet在这里找到:

    对于您的问题,您有两种解决方案。快速的方法是将targetApi降低到22(build.gradle文件)。其次是使用新的runtimePermission模型: 因为您的目标api是23,所以您也应该在运行时添加权限

    if (checkSelfPermission(Manifest.permission.READ_EXTERNAL_STORAGE)
            != PackageManager.INTERNET) {
    
        // Should we show an explanation?
        if (shouldShowRequestPermissionRationale(
                Manifest.permission.INTERNET)) {
            // Explain to the user why we need to read the contacts
        }
    
        requestPermissions(new String[]{Manifest.permission.INTERNET},
                MY_PERMISSIONS_REQUEST_INTERNET);
    
        // MY_PERMISSIONS_REQUEST_INTERNET is an
        // app-defined int constant
    
        return;
    }
    

    Sniplet在这里找到:

    我会说调试并再次检查您的url。我会说调试并再次检查您的url。日志:06-02 10:30:50.834 10390-10896/com.appcontactos.javierdiaz.jeunesseamiam W/System.err:java.net.UnknownHostException:无法解析主机“dashboard.jeunesse.net”:没有与主机名关联的地址我多次重置Wifi和电话,我没有连接到任何VPN。当我获取url并将其粘贴到google chrome中时,它已连接。Log:06-02 10:30:50.834 10390-10896/com.appcontactos.javierdiaz.jeunessemiami W/System.err:java.net.UnknownHostException:无法解析主机“dashboard.jeunesse.net”:没有与主机名关联的地址我多次重置Wifi和电话,我没有连接到任何VPN。当我获得url并将其粘贴到google chrome中时,它就连接上了。是的,我开始使用volley,它就工作了。非常感谢。是的,我开始使用截击,而且很有效。非常感谢你。