查快递的时候发现了一个http://www.kaidi100.com 是金蝶旗下的下个网站,做得很不错,几乎可以查所以的快递公司的,该站提供了API查询快递,API需要申请key.申请Key需要做它网站链接。无奈,哥的网站早到期,没续费了,于是trace了一把请求,直接用Java httpurlconnection 搞起,只是给个例子,可以再接着封装。中间遇到过乱码问题,最后发现是内容进行了gzip压缩,trace时候没有仔细看response header ,吃了回亏 教训。
package com.hailsoft.test; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.InputStream; import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.URL; import java.util.zip.GZIPInputStream; /** * @author admin * */ public class App { public static void main(String[] args) { String url = "http://www.kuaidi100.com/query?type=shentong&postid=请更换为你的申通运单号&id=1&valicode=&temp=0.3015635129995644"; try { HttpURLConnection.setFollowRedirects(true); HttpURLConnection http = (HttpURLConnection) (new URL(url).openConnection()); http.setDoOutput(true); http.setDoOutput(true); http.setInstanceFollowRedirects(true); http.setRequestMethod("GET"); http.setRequestProperty("Connection", "keep-alive"); http.setRequestProperty("X-Requested-With", "XMLHttpRequest"); http.setRequestProperty("User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/21.0.1180.92 Safari/537.1 LBBROWSER"); http.setRequestProperty("Accept", "*/*"); http.setRequestProperty("Referer", "http://www.kuaidi100.com/"); http.setRequestProperty("Accept-Language", "zh-CN,zh;q=0.8"); http.setRequestProperty("Accept-Charset", "GBK,utf-8;q=0.7,*;q=0.3"); http.setRequestProperty("Accept-Encoding", "gzip,deflate,sdch"); System.out.println("response is : "+http.getResponseCode()+" "+http.getResponseMessage()); String contentEncoding = http.getContentEncoding(); System.out.println("response encoding is : "+contentEncoding); InputStream in = null; if("gzip".equalsIgnoreCase(contentEncoding)){ in = new GZIPInputStream(http.getInputStream()); }else{ in = http.getInputStream(); } ByteArrayOutputStream baos = new ByteArrayOutputStream(); int data = -1; while((data = in.read())!=-1){ baos.write(data); } String resp = baos.toString("utf8"); System.out.println(resp); } catch (MalformedURLException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }
相关推荐
基于Java的校园二手物品交易网站的设计与实现全文共3页,当前为第1页。基于Java的校园二手物品交易网站的设计与实现全文共3页,当前为第1页。基于Java的校园二手物品交易网站的设计与实现 基于Java的校园二手物品...
第1篇 Java编程基础 第1章 Java开发环境的搭建(教学视频:9分钟) 2 1.1 理解Java 2 1.2 搭建Java所需环境 3 1.2.1 下载JDK 3 1.2.2 安装JDK 4 1.2.3 配置环境 5 1.2.4 测试JDK配置...
第1篇 Java编程基础 第1章 Java开发环境的搭建(教学视频:9分钟) 2 1.1 理解Java 2 1.2 搭建Java所需环境 3 1.2.1 下载JDK 3 1.2.2 安装JDK 4 1.2.3 配置环境 5 1.2.4 测试JDK配置是否成功 7 实例1 开发第一个Java...
第1篇 Java编程基础 第1章 Java开发环境的搭建(教学视频:9分钟) 2 1.1 理解Java 2 1.2 搭建Java所需环境 3 1.2.1 下载JDK 3 1.2.2 安装JDK 4 1.2.3 配置环境 5 1.2.4 测试JDK配置是否成功 7...
快递和外卖需要实现支付功能。发布界面都要实现上传图片功能。填写发布信息时手机号码和微信号自动获取用户注册时填写的,可以进行修改。 接单模块。按快递、外卖、求助分类,可以按照酬金高低、宿舍、时间进行筛选...
Java范例开发大全(全书源程序),目录如下: 第1篇 Java编程基础 第1章 Java开发环境的搭建(教学视频:9分钟) 2 1.1 理解Java 2 1.2 搭建Java所需环境 3 1.2.1 下载JDK 3 1.2.2 安装JDK 4 1.2.3 配置环境...
必须要输入验证码 购物车存放在redis当中,限制频繁登陆。防止跑库。 主要数据存放在mongodb 登陆界面 注册界面 用户界面 管理员界面 厨师界面 送货界面 消费者 厨师 快递小哥 店主 同时操作需要使用线程同步 ...
第1篇 Java编程基础 第1章 Java开发环境的搭建(教学视频:9分钟) 2 1.1 理解Java 2 1.2 搭建Java所需环境 3 1.2.1 下载JDK 3 1.2.2 安装JDK 4 1.2.3 配置环境 5 1.2.4 测试JDK配置是否成功 7 实例1 开发第一个Java...
Java;SSM;MySQL; 萌宠优购系统的开发主要是对购物车以及商品管理等功能的设计,用现有的技术进行系统设计,快速的处理信息。与管理员而言要方便对信息进行管理,而与用户交互的界面需要更美观、更具操作性,让...
快递和外卖需要实现支付功能。发布界面都要实现上传图片功能。填写发布信息时手机号码和微信号自动获取用户注册时填写的,可以进行修改。 4、接单模块。按快递、外卖、求助分类,可以按照酬金高低、宿舍、时间进行...
快递和外卖需要实现支付功能。发布界面都要实现上传图片功能。填写发布信息时手机号码和微信号自动获取用户注册时填写的,可以进行修改。 接单模块。按快递、外卖、求助分类,可以按照酬金高低、宿舍、时间进行筛选...
Java;SSM;MySQL; 萌宠优购系统的开发主要是对购物车以及商品管理等功能的设计,用现有的技术进行系统设计,快速的处理信息。与管理员而言要方便对信息进行管理,而与用户交互的界面需要更美观、更具操作性,让...
自习室座位预约系统,在系统首页...自习室信息管理,在自习室信息管理页面可添加自习室名称、开放时间、自习室类型、开放时间、地址、座位类型、自习室简介等信息,并可根据需要在快递代拿查询页面进行修改或删除等操作