访问快递100的rest的请求

转:http://blog.csdn.net/u011115507/article/details/9172679

查快递的时候发现了一个http://www.kaidi100.com 是金蝶旗下的下个网站,做得很不错,几乎可以查所以的快递公司的,该站提供了API查询快递,API需要申请key.申请Key需要做它网站链接。无奈,哥的网站早到期,没续费了,于是trace了一把请求,直接用Java httpurlconnection 搞起,只是给个例子,可以再接着封装。中间遇到过乱码问题,最后发现是内容进行了gzip压缩,trace时候没有仔细看response header ,吃了回亏 教训。

package com.sz.team5;

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=shunfeng&postid=102662911869&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();
        }  

    }
}  
时间: 2025-01-05 03:29:57

访问快递100的rest的请求的相关文章

快速上手微信小程序-快递100

2007 年 1 月 9 日,乔布斯在旧金山莫斯科尼会展中心发布了首款 iPhone,而在十年后的 1 月 9 日,微信小程序正式上线.张小龙以这样的形式,向乔布斯致敬. 小程序在哪里? 小程序功能模块在"发现"频道最下方的位置.如果没有,请先将微信升级到最新版本,然后在通讯录搜索'小程序示例',点击之后返回"发现频道"即可.Tip:小程序搜索目前不支持模糊查询 小程序会带来什么 无处不在,随时访问 移动互联网的下一站是"唾手可得" --张小龙

解决快递100普通key不能查询顺丰、申通等快递问题

已在其他板块里和MYCNCART官网插件区提供了下载插件,此贴只是针对快递100的接口进行分析处理--------------------------------------------------------------------------------------------------------------------------------------都知道快递100接口升级后,使用普通的key是无法查询到ems.顺丰.申通等快递公司的物流信息.而需要使用HTMLapi的接口去调用,

快递100物流编码

说明 以下是快递100对外开放的部份公司的列表,同时适用于HtmlAPI和 运单查询API(部份,具体区别请留意快递公司名称后的备注),另外国际类的可以直接点击国际邮政.EMS.快递类列表查看. 由于我们并没有将所有公司完全对外公布,如果在下面没有找到您所要的快递公司,请添加企业QQ 800036857转 小佰或 发邮件至 [email protected] 咨询. 分类 快递公司代码 公司名称 A       auspost 澳大利亚邮政(英文结果)   aae AAE   anxindaku

C#快递跟踪(基于快递100深度定制)

先定义SortList数组用于存放快递公司的简称和全称 public SortedList Ht = new SortedList() { {"zhongyouwuliu", "中邮物流"}, {"zhongtong", "中通速递"}, {"zhongtiewuliu", "中铁快运"}, {"zhaijisong", "宅急送"}, {&quo

java抓取快递100信息接口

1 package zeze; 2 3 import java.io.IOException; 4 5 import org.json.JSONArray; 6 import org.json.JSONException; 7 import org.json.JSONObject; 8 import org.jsoup.Connection; 9 import org.jsoup.Jsoup; 10 import org.jsoup.nodes.Document; 11 import org.j

快递100接口开发

1.预约 function kuaidi100Yuyue($company,$number){ $post_data = array(); $post_data["schema"] = 'json' ; //callbackurl请参考callback.php实现,key经常会变,请与快递100联系获取最新key $json_data=array( 'company'=>$company, 'number'=>$number, 'key'=>'key', 'param

物流配送进程快递100查询接口

本插件使得您的网站可以从快递100接口获取相关配送公司的订单的具体进程,并在顾客登录网站时,查看订单详细信息时予以显示. 演示前台: http://coc020.chinaopencart.com 用户名: [email protected] 密码: demo 使用以上信息登录网站前台,查看订单信息,会看到相关快递100接口传送回来的快递进程.

c#读取快递100查询返回的JSON信息

{"message":"ok","nu":"1105016801203","companytype":"ems","ischeck":"1","com":"ems","updatetime":"2014-08-01 10:17:31","status"

抓取快递100数据,进行快递查询

8月份换了份工作,是做物流行业相关系统的,有时会需要查询外部快递接口,进行快递跟踪查询,这里就抓取快递100数据进行简单介绍. 需要的朋友可以参考下. 先上效果图: 下面我们一步一步来讨论如何实现这样的功能. 1.准备工作:获取快递100 Json数据 由上图我们发现 快递100的查询路劲为:http://www.kuaidi100.com/query?type=yuantong&postid=5714113854&id=1&valicode=&temp=0.1968950