为什么我无法访问我的转义网址?

时间:2015-02-06 12:54:30

标签: java android url android-asynctask uri

我试图在AsyncTask中向我的服务器发送一些参数,但没有任何运气。

这是我的代码:

try {
                Uri.Builder builder = new Uri.Builder();
                builder.scheme("https")
                        .authority("www.dummyurl.com/android/agent.php")
                        .appendQueryParameter("date", selectedDate.getText().toString()+" "+ selectedTime.getText().toString())
                        .appendQueryParameter("user", userTxt.getText().toString())
                        .appendQueryParameter("cal", calTxt.getText().toString());
                String myUrl = builder.build().toString();

                System.out.println(myUrl);

                URL url = new URL(myUrl);

                URLConnection urlConnection = url.openConnection();
                InputStream in = urlConnection.getInputStream();
            } catch (Exception e) {
                e.printStackTrace();
            }

myUrl看起来像是:https://www.dummyurl.com%2Fandroid%2Fagent.php?date=February-6-2015%2014%3A49&user=qwe&cal=qweqwe

但我收到以下错误:

java.net.UnknownHostException: host == null

据我所知,由于某种原因,我无法连接到转义的网址,我知道我搞砸了,但作为一个Android初学者,我真的找不到向我的网址发出请求的方法。我知道我在这里错过了一小部分,但我现在无法发现它。

1 个答案:

答案 0 :(得分:2)

使用Uri.Builder.appendPath将主机名和路径添加到uri:

Uri.Builder builder = new Uri.Builder();
        builder.scheme("https")
        .authority("www.dummyurl.com")
        .appendPath("android")
        .appendPath("agent.php")
        ....