前两天论坛求助获取物流信息的帖子后,采用了“爱查快递”的方案
文档帮助文档如下:http://www.ickd.cn/api/doc.html我使用如下代码来获取物流信息String eUrl = expressURL + "&com=" + entity.getExpressCompanyCode() + "&nu=" + entity.getExpressNum();
logger.info("generateExpressInfo:{}", eUrl);
StringBuilder sb = new StringBuilder();
try {
URL url = new URL(eUrl);
BufferedReader reader = new BufferedReader(new InputStreamReader(url.openStream()));
String line;
while ((line = reader.readLine()) != null) {
sb.append(line);
}
reader.close();
} catch (Exception e) {
logger.warn("取快递信息出错:{}", e);
return;
}
JSONObject obj = JSONObject.fromObject(sb.toString());
sb = new StringBuilder("<table><tr><th style=\"width:120px;\">时间</th><th>记录</th></tr>");
@SuppressWarnings("unchecked")
Iterator<JSONObject> it = obj.getJSONArray("data").iterator();
while (it.hasNext()) {
JSONObject o = it.next();
sb.append("<tr><td>" + o.getString("time") + "</td>");
sb.append("<td>" + o.getString("context") + "</td></tr>");
}
sb.append("</table>");
为了不出现乱码问题,我全部使用了utf8编码,本地测试OK但部属到服务器中出现了乱码问题,后来我将url的&encode=utf8参数删除后,服务器也正常现在的问题是我java程序的其他地方都使用了utf8编码,本地和服务器怎么会不一样呢?
文档帮助文档如下:http://www.ickd.cn/api/doc.html我使用如下代码来获取物流信息String eUrl = expressURL + "&com=" + entity.getExpressCompanyCode() + "&nu=" + entity.getExpressNum();
logger.info("generateExpressInfo:{}", eUrl);
StringBuilder sb = new StringBuilder();
try {
URL url = new URL(eUrl);
BufferedReader reader = new BufferedReader(new InputStreamReader(url.openStream()));
String line;
while ((line = reader.readLine()) != null) {
sb.append(line);
}
reader.close();
} catch (Exception e) {
logger.warn("取快递信息出错:{}", e);
return;
}
JSONObject obj = JSONObject.fromObject(sb.toString());
sb = new StringBuilder("<table><tr><th style=\"width:120px;\">时间</th><th>记录</th></tr>");
@SuppressWarnings("unchecked")
Iterator<JSONObject> it = obj.getJSONArray("data").iterator();
while (it.hasNext()) {
JSONObject o = it.next();
sb.append("<tr><td>" + o.getString("time") + "</td>");
sb.append("<td>" + o.getString("context") + "</td></tr>");
}
sb.append("</table>");
为了不出现乱码问题,我全部使用了utf8编码,本地测试OK但部属到服务器中出现了乱码问题,后来我将url的&encode=utf8参数删除后,服务器也正常现在的问题是我java程序的其他地方都使用了utf8编码,本地和服务器怎么会不一样呢?
解决方案 »
- Struts2关于下载的问题 求解
- 怎样产生订单随机数?
- 求Hibernate+Struts2+ExtJs4.0,采用json做数据传输做的小例子~
- 父页面中用window.open跳出子页面。子页面编辑数据后在父页面添加一条记录,并且关闭。如何实现。
- jsp表单提交求助!帮帮忙!
- [在线等待]jdbc for sqlserver7驱动
- 急!有关string函数
- 初学的··请大虾们看看那有错误!!!谢谢了~~~
- 活活,偶在反编译的时候,发现有乱码呀,怎么转过来?送100
- springMvc注入service是null的,在线等
- java.lang.OutOfMemoryError: Java heap space
- for循环计算问题,来人救命!!!!
2 如果还是乱码 你用edplus 或者其他编辑工具看看你的utf-8 格式是不是有bom格式的utf-8
如果还是不能解决问题 再贴出来你的具体环境
BufferedReader reader = new BufferedReader(new InputStreamReader(url.openStream(),Charset.forName("UTF-8")));