无法通过WiFi连接,但可以通过移动数据连接

the*_*e64 12 php java android openshift openshift-php-cartidges

我有一个php名为test.php存储在我的Openshift服务器中的文件(http://phpgear-shifz.rhcloud.com/v1/test.php),代码如下.

<?php
echo "Hello";
Run Code Online (Sandbox Code Playgroud)

任务

我正在尝试从Android应用程序下载文本.

问题

我有一段java.net.UnknownHostException: Unable to resolve host "phpgear-shifz.rhcloud.com": No address associated with hostname时间通过WiFi网络连接,但一切都很好Mobile Data.

Android活动代码

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_test);

        final TextView tvTest  = (TextView) findViewById(R.id.tvTest);

        new AsyncTask<Void, Void, String>() {
            @Override
            protected String doInBackground(Void... params) {

                try {
                    final URL url = new URL("http://phpgear-shifz.rhcloud.com/v1/test.php");
                    final BufferedReader br = new BufferedReader(new InputStreamReader(url.openStream()));
                    final StringBuilder sb = new StringBuilder();
                    String line;
                    while((line = br.readLine())!=null){
                        sb.append(line).append("\n");
                    }

                    br.close();
                    return sb.toString();

                } catch (IOException e) {
                    e.printStackTrace();
                    return "Error: "  + e.getMessage();
                }
            }

            @Override
            protected void onPostExecute(String result) {
                tvTest.setText(result);
            }
        }.execute();

    }
Run Code Online (Sandbox Code Playgroud)

回复

在WiFi上

onWiFi

在移动数据上

onMobileData

1)为什么我无法通过WiFi network哪里连接Mobile Data完全正常?

2)如何解决这个问题?

注意:有时它会连接,有时则不会.

小智 5

您的DNS不知道所请求站点的IP地址.

您遇到问题,因为您的Wifi连接的DNS无法将主机名转换为IP地址.并且您的数据载体正在使用不同的DNS,该DNS具有与主机名相关联的IP地址.

尝试更改Wifi路由器上的DNS服务器地址,或使用网站的直接IP地址(如果有).

以下是一些谷歌DNS服务器地址

  • 8.8.8.8
  • 8.8.4.4