android无法访问本机服务器地址,Android连接本地服务器被拒。

Error converting result org.apache.http.conn.HttpHostConnectException:Connection to http://127.0.0.1 refused

以下是获取数据的代码:

public List getWholePOI(String SQLUri){

List info=new ArrayList();

SortModel temp;

HttpClient httpClient = new DefaultHttpClient();

HttpPost httpRequest = new HttpPost(SQLUri); //SQLUri是你与服务器交互的地址

httpRequest.setHeader("Accept", "application/json");

String tagName="";

String mname="";

int difficulty=0;

int i=0;

try

{

//得到响应

HttpResponse response = httpClient.execute(httpRequest);

Log.e("position","~~~~~~~~~~~~here~~~~~~~~~~~~");

//返回值如果为200的话则证明成功的得到了数据

if(response.getStatusLine().getStatusCode() == 200)

{

StringBuilder builder = new StringBuilder();

//将得到的数据进行解析

BufferedReader buffer =

new BufferedReader(new InputStreamReader(response.getEntity().getContent(),"UTF-8"));

Log.e("success","~~~~~~~~~~~~here~~~~~~~~~~~~");

for(String s =buffer.readLine(); s!= null; s = buffer.readLine())

{

builder.append(s);

}

String json=builder.toString();

JsonReader jr=new JsonReader(new StringReader(json));//tname为json字符串

try {

jr.beginArray();// 开始解析数组

while(jr.hasNext()){

jr.beginObject();//开始解析对象

temp=new SortModel();

while (jr.hasNext()) {

tagName=jr.nextName();

//多余一个name的时候要设置一个tagName存储这个name,不能直接在每个if后使用jr.nextName()

//不然会引起exception

if (tagName.equals("mname")) {

//解析键值

//Log.e("p_id",jr.nextString());

mname=jr.nextString();

//存入数据

temp.setName(mname);

}else if (tagName.equals("difficulty")) {

//解析键值

//Log.e("votes",jr.nextString());

difficulty=Integer.parseInt(jr.nextString());

temp.setDifficulty(difficulty);

}

}

jr.endObject();// 解析对象结束

//汉字转换成拼音

String pinyin = characterParser.getSelling(mname);

String sortString = pinyin.substring(0, 1).toUpperCase();

// 正则表达式,判断首字母是否是英文字母

if(sortString.matches("[A-Z]")){

/*有bug,当首字母没有匹配上list item的话,虽然输入首字母能查找出相应的item,但是首字母之后的输入则不能搜索到目标*/

temp.setSortLetters(sortString.toUpperCase());

}else{

temp.setSortLetters("#");

}

info.add(temp);

i++;

}

jr.endArray();// 解析数组结束

} catch (IOException e) {

e.printStackTrace();

}

return info;

}

} catch (Exception e)

{

Log.e("Buffer Error", "Error converting result " + e.toString());

}

return info;

}

1)127.0.0.1能ping通的,浏览器也能连接本地服务器。

2)试过换成192.几几几的IP,没有了上面的错误提示了,但仍旧获取不了数据,而且ping这种IP时一直超时。

3)防火墙已经关掉了。

4)permission也加过了。

求大神指点迷津!!跪谢。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值