向localhost发送发布请求

Aja*_*jay 3 post android http 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) {
            }
        }
Run Code Online (Sandbox Code Playgroud)

我也尝试过设置:

    HttpPost httppost = new HttpPost("http://10.0.2.2:8080");
Run Code Online (Sandbox Code Playgroud)

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

谢谢

Nik*_*kov 7

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

dev_appserver.cmd --address=192.168.2.220
Run Code Online (Sandbox Code Playgroud)

详情请访问:http://code.google.com/appengine/docs/java/tools/devserver.html

  • 准确地传递--address选项在哪里? (2认同)