使用快递100接口查看物流信息

	String result = "";
	BufferedReader in = null;
	try {
		String urlNameString = "http://www.kuaidi100.com/query?id=1&type=zhongtong&postid=409173423798&valicode=&temp=0.20180725857720894";
		URL realUrl = new URL(urlNameString);
		// 打开和URL之间的连接
		URLConnection connection = realUrl.openConnection();
		// 设置通用的请求属性
		connection.setRequestProperty("accept", "*/*");
		connection.setRequestProperty("connection", "Keep-Alive");
		connection.setRequestProperty("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");
		// 建立实际的连接
		connection.connect();
		// 定义 BufferedReader输入流来读取URL的响应
		in = new BufferedReader(new InputStreamReader(connection.getInputStream(), "UTF-8"));
		String line;
		while ((line = in.readLine()) != null) {
			result += line;
		}
	} catch (Exception e) {
		System.out.println("发送GET请求出现异常!" + e);
	}
	// 使用finally块来关闭输入流
	finally {
		try {
			if (in != null) {
				in.close();
			}
		} catch (Exception e2) {
			//aaaaaa
		}
	}
	JSONObject jsonObject = JSON.parseObject(result);
	System.out.println(jsonObject);


url中需要传入两个参数:快递公司名称以及快递单号

最终拿到的是物流信息的json格式,转换成自己用的格式就行

很多细节可以参考 https://www.kuaidi100.com/openapi/api_post.shtml

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
假设后端返回的map类型数据格式如下: ```json { "code": 0, "message": "success", "data": { "expressCompany": "顺丰速运", "expressNumber": "SF1234567890", "expressStatus": "已发货", "expressInfo": [ { "time": "2021-05-01 10:00:00", "description": "已揽收" }, { "time": "2021-05-02 08:00:00", "description": "已到达深圳中心" }, { "time": "2021-05-03 12:00:00", "description": "派送中" }, { "time": "2021-05-04 10:00:00", "description": "已签收" } ] } } ``` 你可以在前端使用jQuery库来进行AJAX请求和数据处理,代码示例如下: ```html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>物流信息</title> </head> <body> <div id="express"></div> <script src="https://cdn.bootcss.com/jquery/3.5.1/jquery.min.js"></script> <script> $(function () { $.ajax({ url: '/api/express', // 后端接口地址 type: 'GET', dataType: 'json', success: function (result) { if (result.code == 0) { // 封装物流信息 var express = { company: result.data.expressCompany, number: result.data.expressNumber, status: result.data.expressStatus, info: [] }; for (var i = 0; i < result.data.expressInfo.length; i++) { var item = result.data.expressInfo[i]; express.info.push({ time: item.time, description: item.description }); } // 渲染页面 var html = ''; html += '<p>快递公司:' + express.company + '</p>'; html += '<p>快递单号:' + express.number + '</p>'; html += '<p>物流状态:' + express.status + '</p>'; html += '<ul>'; for (var i = 0; i < express.info.length; i++) { var item = express.info[i]; html += '<li>' + item.time + ' ' + item.description + '</li>'; } html += '</ul>'; $('#express').html(html); } else { alert(result.message); } }, error: function () { alert('请求失败'); } }); }); </script> </body> </html> ``` 在代码中,我们首先使用Ajax请求后端接口获取物流信息,然后将返回的map类型数据封装成前端需要的数据格式,最后通过jQuery操作DOM渲染页面显示物流信息。在封装数据时,我们将快递公司、快递单号、物流状态和物流信息都封装到一个对象中,并将物流信息封装成数组,每个物流节点也封装成一个对象。这样便于我们在渲染页面时进行循环遍历。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值