朋友们,我是黑莓编程的新手,我在使用HTTPConnection将GET请求发送到php web服务时遇到问题,以下是我正在尝试的代码,
HttpConnection conn = null;
InputStream in = null;
StringBuffer buff = new StringBuffer();
String result = null;
String url = "http://localhost/blackberry/locations.php?device_id="+id+"&lat="+lat+"&lon="+lon
try{
conn = (HttpConnection) Connector.open(url,Connector.READ_WRITE, true);
conn.setRequestMethod(HttpConnection.GET);
conn.setRequestProperty("User-Agent", "Profile/MIDP-1.0 Confirguration/CLDC-1.0");
if(conn.getResponseCode() == HttpConnection.HTTP_OK){
in = conn.openInputStream();
int chr;
//xp.parse(in, handler);
while((chr = in.read()) != -1){
buff.append((char)chr);
}
result = buff.toString();
}
else{
result = "Error in connection";
return result;
}
} catch(Exception ex){
System.out.println(ex.getMessage());
} finally{
try {
in.close();
conn.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
请建议我解决方案, 感谢
方面。
答案 0 :(得分:1)
一些评论:
答案 1 :(得分:1)
抱歉,我的声誉不允许我发表评论。我的猜测是:你无法连接到localhost,因此响应代码与HTTP_OK不同,因此输入流'in'永远不会被打开,当流将要在最后关闭时,变量'in'仍为null块。因此NullPointerException。
尝试改为使用if (in != null) in.close();
。