2

我正在通过 url 将信息发送到 php 文件。当我在浏览器中键入 url 时,会显示正确的信息,但是我没有通过 InputStreamReader 获取此信息。

这是我的代码。

 try {
          URL url = new URL("http://example/example.php?userImage="
         + URLEncoder.encode(userImageString, "UTF-8") + "&userHeight="
         + URLEncoder.encode(userHeight,"UTF-8" ));
          Log.d("url", "" + url);
          Scanner in = new Scanner(new InputStreamReader(url.openStream()))
            .useDelimiter("\n");

          Log.d("hasnext?", "" + in.hasNext());
      while (in.hasNext()) 
      {
          Log.d("sent", in.next());
      }
      in.close();
    }
      catch(Exception e)
      {
          e.printStackTrace();
      }
 }

HasNext 返回 false,它应该返回 true。有什么建议么?

我应该注意 userImageString 是 Base64 编码的字符串。

4

1 回答 1

1

1)你有访问互联网的权限吗?

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

2)我认为你可以用这个答案解决你的问题: Make an HTTP request with android

3)这是一个返回响应的有效http请求:

public String request(String fUrl){
    String page = "";
    try
    {
        HttpClient hc = new DefaultHttpClient();
        HttpPost post = new HttpPost(fUrl);
        HttpResponse response = hc.execute(post);

        if(response.getStatusLine().getStatusCode() == HttpStatus.SC_OK)
        {
            page = EntityUtils.toString(response.getEntity());
        }
    } catch(IOException e) {
        e.printStackTrace();
        System.out.println("Exception Thrown");
    }
    return page;
}
于 2012-05-05T22:44:22.093 回答