我正在尝试使用带有mysql数据库的php为Android游戏编写一个简单的游戏服务器。
我的想法是让'droid应用程序模拟一个简单的http post请求 例如http://www.mysite.com/missile/new.php?lat=58123456,long=-2123456,state=1
我的网络服务器旨在将新导弹存储为从那些E6合作伙伴在mysql数据库中启动,然后我打算编写另一个php文件,以允许所有客户在飞行中进行peridoically检查导弹。
我已经尝试了我发现的各种代码,但没有取得100%的成功。
如果我在浏览器栏中输入http://www.mysite.com/missile/new.php?lat=58123456,long=-2123456,state=1,我就会回来 数组([launchlat] => 56123456,launchlong = 2700123,state = 0)因为我只是在做一个简单的
print_r($_GET);
echo '<br />';
在我的php文件中。
但是使用我当前的代码
try {
String reply;
HttpClient client = new DefaultHttpClient();
String postURL = "http://www.mysite.com/missile/new.php";
HttpPost post = new HttpPost(postURL);
List<NameValuePair> params = new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair("launchlat", "56123456"));
params.add(new BasicNameValuePair("launchlong", "2700123"));
params.add(new BasicNameValuePair("state", "0"));
UrlEncodedFormEntity ent = new UrlEncodedFormEntity(params,HTTP.UTF_8);
post.setEntity(ent);
HttpResponse responsePOST = client.execute(post);
HttpEntity resEntity = responsePOST.getEntity();
if (resEntity != null) {
reply = EntityUtils.toString(resEntity);
Log.i("RESPONSE",reply);
}
} catch (Exception e) {
e.printStackTrace();
}
我正在回复一个空数组。
有人可以建议进行调整(或者使用全新的代码来发帖并收到回复吗?
问候
西蒙
答案 0 :(得分:4)
我对android dev一无所知,但看起来你正在使用HttpPost
,但你的php期待GET
。
更改您的php以查看$_POST
而不是$_GET
如果您需要使用GET和POST $_REQUEST