我需要从我的android设备向运行在我的localhost:8080上并由google应用程序引擎托管的web服务器发送一个http post请求。
当前代码是这样的:
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");
在所有情况下,响应都为空,程序强制关闭。我发送的请求是否正确?有谁能带我到这里来吗?
谢谢
发布于 2012-03-22 15:14:07
“send a request to localhost”意思是将请求发送到本地计算机。在你的例子中,应该是Android设备。您希望将请求发送到作为远程主机的台式计算机。问题是,默认情况下,Appengine dev_sever仅绑定到本地地址,因此无法远程访问(即,从您的安卓设备)。您需要传递--address
选项才能从外部访问。检查您的计算机的IP并将其作为地址传递。类似于:
dev_appserver.cmd --address=192.168.2.220
详情请访问:http://code.google.com/appengine/docs/java/tools/devserver.html
https://stackoverflow.com/questions/9817333
复制相似问题