当前位置:编程学习 > JAVA >>

关于Android用移动2G网络访问WebService的问题

写的是一个天气预报查询和一个火车票查询的一个Android小应用。
天气预报的WebService是:http://www.webxml.com.cn/WebServices/WeatherWebService.asmx
火车票的WebService是:http://www.webxml.com.cn/WebServices/TrainTimeWebService.asmx
用的是Android模拟器测试的时候都是正常的。
但是在真机上用移动2G的网络就获取数据,但是联通3G可以获取数据。


求解。。。 --------------------编程问答-------------------- IOS前途好还是安卓? --------------------编程问答-------------------- 除 --------------------编程问答-------------------- 个人觉得是Android,Android开放些。而且现在很多的设备都是Android的。车上,电视上,等等。

关键是,看我标题啊,我讨论的不是这个 --------------------编程问答-------------------- 移动2G网络的wap网络的网关会把你的URL上面传递参数可能过滤掉,你可以试着看看,建议你采用header方式或者协议中增加等其他方式。
你先查找移动2G和联通3G两个网络你需要传递参数是否一致,然后在截取你的http请求查找差异,应该很快就可以找到问题! --------------------编程问答-------------------- 太高端了吧。都是从未接触过的名词。传递的参数肯定都是一致的。毕竟都是同一个软件只不过上网的方式不同而已。 --------------------编程问答-------------------- 请问解决了吗??我也遇到类似问题 --------------------编程问答-------------------- 目前还没有解决。。。。。 --------------------编程问答--------------------
请问楼主解决问题了吗?我也遇到了~:
http://bbs.csdn.net/topics/390645371 --------------------编程问答-------------------- 但是在真机上用移动2G的网络就获取数据,但是联通3G可以获取数据。
这话能通么。。
构建HttpGet对象来执行请求,
我现在用的是HttpPost的方法请求的,2G下测试能通。

public static String requestToProxy(HttpEntity entity, String proxy)
throws IOException {
String serverJsonStr = null;
final HttpPost post = new HttpPost(proxy);
// 添加gzip的包头
post.addHeader("Accept-Encoding", "gzip");
post.setEntity(entity);
HttpResponse httpResponse = MjUtil.getHttpClient().execute(post);

if (httpResponse.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
entity = httpResponse.getEntity();
if (entity.getContentEncoding() != null
&& entity.getContentEncoding().getValue() != null
&& entity.getContentEncoding().getValue().contains("gzip")) {
serverJsonStr = MjUtil.guzipCompress(entity.getContent());
} else {
serverJsonStr = EntityUtils.toString(entity);
}
}
return serverJsonStr;
}
补充:Java ,  J2ME
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,