向localhost发送发布请求

时间:2012-03-22 06:15:56

标签: android http post request

我需要从我的Android设备发送一个http post请求到我的localhost:8080上运行的web服务器,并由google app引擎托管。

目前的代码是:

    try {

                HttpPost httppost = new HttpPost("http://192.168.2.220:8080");
                httppost.setHeader("Content-type", "application/json");
                ResponseHandler <String> responseHandler = new BasicResponseHandler();
                StringEntity se = new StringEntity(object.toString()); 
           se.setContentEncoding(newBasicHeader(HTTP.CONTENT_TYPE,"application/json"));
                httppost.setEntity(se);
                System.out.println("Request Sent");
                String response = httpclient.execute(httppost, responseHandler);

                String temp = EntityUtils.toString(response.getEntity());



            } catch (ClientProtocolException e) {}
            catch (IOException e) {
            }
        }

我也尝试过设置:

    HttpPost httppost = new HttpPost("http://10.0.2.2:8080");

在所有情况下,响应为null并且程序强制关闭。我正确地发送请求了吗?有人可以在这里指导我吗?

由于

1 个答案:

答案 0 :(得分:7)

'向localhost发送请求'表示将其发送到本地计算机。在你的情况下,这将是Android设备。您希望将请求发送到桌面计算机,这是一个远程主机。问题是Appengine dev_sever默认只绑定到本地地址,因此无法远程访问(即,从您的Android设备)。您需要传递--address选项才能从外部访问。检查计算机的IP并将其作为地址传递。类似的东西:

dev_appserver.cmd --address=192.168.2.220

详细信息:http://code.google.com/appengine/docs/java/tools/devserver.html