我有一个为我的android应用程序提供数据的url,我从教程中学到了并编写了一些代码。它适用于其他网址,但这个
http://acolyteserv.appspot.com/Products/getProductMatchedList/?format=json&p0=galaxy&p1=4&p2=all
代码是:
private void testere()
{
InputStream is = null;
String result;
try{
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("http://acolyteserv.appspot.com/Products/getProductMatchedList/?format=json&p0=galaxy&p1=4&p2=all");
HttpResponse response = httpclient.execute(httppost);
HttpEntity entity = response.getEntity();
is = entity.getContent();
try{
BufferedReader reader = new BufferedReader(new InputStreamReader(is));
StringBuilder sb = new StringBuilder();
String line = null;
while ((line = reader.readLine()) != null) {
sb.append(line + "\n");
}
is.close();
result=sb.toString();
Toast t=Toast.makeText(getApplicationContext(), result, Toast.LENGTH_LONG);
t.show();
}catch(Exception e){
Log.e("log_tag", "Error converting result "+e.toString());
}
}
catch(Exception e){
Log.e("log_tag", "Error in http connection "+e.toString());
}
}
如果我使用这个URL toast,结果会给我一个空字符串,但如果我使用像
这样的示例网址http://api.geonames.org/earthquakesJSON?north=44.1&south=-9.9&east=-22.4&west=55.2&username=demo
请告诉我这里我做错了什么,我是JSON和整个网络服务世界的新手。
答案 0 :(得分:1)
您正在使用HttpPost
,但未向请求提交任何实体。
请尝试使用HttpGet
。鉴于您的URL等内容的名称,我怀疑GET是您真正想要的。
答案 1 :(得分:1)
将您的请求参数添加到您的HttpEntity。或者使用HttpGet