Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/208.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
试图在android应用程序开发中使用httpurlrequest,但无法访问Safari浏览器中清晰可访问的数据文件_Android_Networking_Emulation - Fatal编程技术网

试图在android应用程序开发中使用httpurlrequest,但无法访问Safari浏览器中清晰可访问的数据文件

试图在android应用程序开发中使用httpurlrequest,但无法访问Safari浏览器中清晰可访问的数据文件,android,networking,emulation,Android,Networking,Emulation,开发Android应用程序并在模拟器中进行测试。该过程的一部分是按如下方式查找数据文件-- 如果httpurlrequest的URL为,请从logcat获取: 此对象可能位于“https://ftp.ncep.noaa.gov/data/nccf/com/gfs/prod" 如果httpurlrequest的URL为get: 301永久移动文档已移动到“http://ftp.ncep.noaa.gov/data/nccf/com/gfs/prod/“该输出也来自logcat: “Activity

开发Android应用程序并在模拟器中进行测试。该过程的一部分是按如下方式查找数据文件-- 如果httpurlrequest的URL为,请从logcat获取: 此对象可能位于“https://ftp.ncep.noaa.gov/data/nccf/com/gfs/prod"

如果httpurlrequest的URL为get: 301永久移动文档已移动到“http://ftp.ncep.noaa.gov/data/nccf/com/gfs/prod/“该输出也来自logcat:

“ActivityThread:未能找到com.google.android.apps.wellbeering.api的提供商信息”

奇怪的是,当我在Safari浏览器中使用http或https协议时,上面的URL会显示数据文件。我假设密钥是上面列出的消息“未能找到提供程序信息”,但是httpurlrequest应该适用于http协议。我已将以下内容添加到我的清单中:

   <application
    android:usesCleartextTraffic="true"

意思是说“我的Mac上的Safari浏览器”。所以浏览器遵循重定向,而你看不见的代码没有。是的-这是正确的。抱歉没有添加代码-以下是我正在使用的:请查看我的新编辑,在原始问题中,前缀为“new”。会用的。一个注释,但不允许使用足够的字符。如果可以的话,这是一个问题——如果我使用物理设备而不是模拟器,例如通过HttpUrlConnection拉取数据,这是否更有可能成功?(尽管我希望在购买Android手机进行真正测试之前,能在模拟器上证明这一概念)。
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
InputStream in = null;
        Thread thread = new Thread(new Runnable() {
            @Override
            public void run() {
                try {
                    //Your code goes here
                    InputStream in = null;
                    HttpURLConnection urlConnection2 = null;
                    URL url = null;
       //             url = new URL("http://www.android.com/");
             url= new URL("https://ftp.ncep.noaa.gov/data/nccf/com/gfs/prod");
         //          url = new URL("https://ftp.ncep.noaa.gov/data/nccf/com/gfs/prod/gfs.20210608/12/atmos/gfs.t12z.pgrb2full.0p50.f021");
                    urlConnection2 = (HttpURLConnection) url.openConnection();
                    in = urlConnection2.getInputStream();  //error
                    BufferedReader reader;
                    reader = new BufferedReader(new InputStreamReader(in));
                    StringBuilder result = new StringBuilder();
                    String line = null;
                    while (true) {
                        try {
                            if (!((line = reader.readLine()) != null)) break;
                        } catch (IOException e) {
                            e.printStackTrace();
                        }
                        result.append(line);
                    }
                    System.out.println("SFK - this what we get from URL -- " + result.toString());
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        });

        thread.start();