JAVA 实现邮编查询——输入邮编,返回使用该邮编的地区名称。

Java实战:DHL/FedEx/UPS国际快递API对接与聚合集成层设计 在国际电商与跨境物流场景中,集成多家快递API是构建订单履约系统的核心挑战。DHL、FedEx、UPS各自采用不同的认证机制与报文规范,从OAuth2的权限差异到费率计算中的材积重与附加费,再到面单打印与轨迹追踪的状态映射,每一个环节都可能成为技术瓶颈。通过Java设计统一抽象层,将多供应商差异封装在集成层内部,能够有效降低业务系统耦合度。针对接口幂等性、Webhook验签、多币种与时区处理等工程实践,沉淀出可复用的适配方案。本文从API认证原理出发,深入比价路由、下单、标签与追踪等高频场景,结合实际报错排 阅读详情
package 邮编查询11;

import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;

import net.sf.json.JSONArray;
import net.sf.json.JSONObject;

public class Post_check {
    public static final String DEF_CHATSET = "UTF-8";
    public static final int DEF_CONN_TIMEOUT = 30000;
    public static final int DEF_READ_TIMEOUT = 30000;
    public static String userAgent =  "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.66 Safari/537.36";
    public static final String APPKEY="***********************";//需要替换
    public static void request(String post){
        String result =null;
        String url ="http://v.juhe.cn/postcode/query";//请求接口地址
        Map params = new HashMap();//请求参数
        params.put("postcode",post);//邮编,如:215001
        params.put("key",APPKEY);
        try {
            result =net(url, params, "GET");
            JSONObject object = JSONObject.fromObject(result);
            if(object.getInt("error_code")==0){
                //解析JSONObject集合得到所需要部分
                object=object.getJSONObject("result");
                JSONArray array=object.getJSONArray("list");
                object=array.getJSONObject(0);
                System.out.print(object.getString("Province"));
                System.out.print(object.getString("City"));
                System.out.print(object.getString("District"));
            }else{
                System.out.println("查询失败,失败详情如下:");
                System.out.println(object.get("error_code")+":"+object.get("reason"));
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    public static String net(String strUrl, Map params,String method) throws Exception {
        HttpURLConnection conn = null;
        BufferedReader reader = null;
        String rs = null;
        try {
            StringBuffer sb = new StringBuffer();
            if(method==null || method.equals("GET")){
                strUrl = strUrl+"?"+urlencode(params);
            }
            URL url = new URL(strUrl);
            conn = (HttpURLConnection) url.openConnection();
            if(method==null || method.equals("GET")){
                conn.setRequestMethod("GET");
            }else{
                conn.setRequestMethod("POST");
                conn.setDoOutput(true);
            }
            conn.setRequestProperty("User-agent", userAgent);
            conn.setUseCaches(false);
            conn.setConnectTimeout(DEF_CONN_TIMEOUT);
            conn.setReadTimeout(DEF_READ_TIMEOUT);
            conn.setInstanceFollowRedirects(false);
            conn.connect();
            if (params!= null && method.equals("POST")) {
                try {
                    DataOutputStream out = new DataOutputStream(conn.getOutputStream());
                    out.writeBytes(urlencode(params));
                } catch (Exception e) {
                    // TODO: handle exception
                }
            }
            InputStream is = conn.getInputStream();
            reader = new BufferedReader(new InputStreamReader(is, DEF_CHATSET));
            String strRead = null;
            while ((strRead = reader.readLine()) != null) {
                sb.append(strRead);
            }
            rs = sb.toString();
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            if (reader != null) {
                reader.close();
            }
            if (conn != null) {
                conn.disconnect();
            }
        }
        return rs;
    }
    //将map型转为请求参数型
    public static String urlencode(Map<String,Object>data) {
        StringBuilder sb = new StringBuilder();
        for (Map.Entry i : data.entrySet()) {
            try {
                sb.append(i.getKey()).append("=").append(URLEncoder.encode(i.getValue()+"","UTF-8")).append("&");
            } catch (UnsupportedEncodingException e) {
                e.printStackTrace();
            }
        }
        return sb.toString();
    }
    public static void main(String args[]){
        System.out.println("请输入想要查询邮编");
        Scanner sc=new Scanner(System.in);
        String post=sc.next();
        System.out.print("所输入邮编地址为:");
       request(post);
    }
}

APPKEY需要替换成所申请的API对应的APPKEY

行政区划邮编对应关系.xls 立即下载

相关推荐

最全邮政编码

邮政编码信息。由于网上大多数都是行政区划,通过地址查询起来很是费劲

通过邮编获取城市

import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.net.URL; import java.net.URLConnection; public class Test {

a985364654的博客 3691

全国邮编查询小工具(可在线升级)

可查询全国各地的邮政编码、城市区号,支持在线升级,可以导出和导入数据,可自行修改错误数据。方便实用,欢迎大家多多下载哈!

java 邮编_地址查邮编示例代码

package api.jisuapi.zipcode;import java.net.URLEncoder;import api.util.HttpUtil;import net.sf.json.JSONArray;import net.sf.json.JSONObject;public class Addr2code {public static final String APPKEY = "...

weixin_33252423的博客 2397

STM32G0实战:手把手教你用国产GD25Q16 Flash存储传感器数据(附完整驱动)

本文详细介绍了如何使用国产GD25Q16 Flash芯片与STM32G0系列MCU实现传感器数据存储的完整方案。从SPI接口配置、驱动层实现到存储系统架构设计,提供了实战代码和优化策略,帮助开发者快速构建高性价比的物联网数据存储系统。

weixin_30733003的博客 105

六轴机械臂正逆解计算

机械臂运动学就是。包括(Forward Kinematics)和(InverseKinematics)两部分。正运动学就是逆运动学则是关节变量->机械臂末端执行器的姿势=正向运动学机械臂未端执行器的位姿->关节变量=逆向运动学。

gaoxiaochan的博客 1万+

自己开发邮编查询,根据地址查邮编代码实现(JAVA)

文章目录前言一、数据准备二、代码实现1. 格式化地址对象2. mapper数据库查询代码3. 查询代码实现三、运行效果 前言 通过地址查询邮编处理步骤: 1. 首先要对地址进行格式处理,去掉多余部分,某某路后面的部分不要,因为地址库中可能没有会查不到; 2. 对省市县进行处理,去掉省市县(民族)后缀; 3. 若提供的详细地址在库中查不到,则从地址尾部去掉一个字再查询,直到查询到数据为止; 4. 使用Mysql全文检索(5.7以后的版本),提供查询精度; 一、数据准备 首先准备全国邮编数据库,这里我整理了

码觉客的博客 1万+

matlab/simulink saw谐振器仿真,基于Matlab的SAW模态耦合模型的仿真研究

第32卷 第 4 期Vol. 32 No. 4重 庆 理 工 大 学 学 报 (自然科学)Journal of Chongqing University of Technology( Natural Science)2 0 1 8年 4 月Apr. 2018doi : 10.3969/j . issn. 1674-8425(z). 2018.04.002本文引用格式 :李志鹏,马龙祥,孟旭,等•基...

weixin_36192634的博客 1385

如何根据美国的邮编带出对应的州呢

项目中没有维护这个对应关系的API,所以我google到了Google map的API,只需要发get请求发送邮编即可。api地址是 http://maps.googleapis.com/maps/api/geocode/json?address=xxx,这里的address就是接受的邮编。 所以现在需求是:用户输入邮政编码后请求该API得到对应的州和city,然后渲染到对应的字段中。 creat...

Tony__Hsueh的博客 2930

【YOLOv11多模态融合改进】| CVPR2025 LCA轻量交叉注意力 双向模态交叉引导 + 双支路噪点抑制,兼顾纹理与热目标特征融合

可见光模态富含纹理、色彩、边缘细节,但夜间/低照度场景信噪比极低,暗区噪声泛滥;红外模态依靠热辐射凸显弱小目标、暗区物体轮廓,但缺失真实色彩与精细纹理。简单拼接/逐加融合仅做浅层特征叠加,无法建立可见光纹理、红外热特征的双向引导关联,两类模态互补信息无法精准互通;普通自注意力仅单模态内部建模,跨模态交互匮乏,红外热目标易被可见光暗噪声淹没,可见光有效纹理易被红外灰度信息覆盖;

Limiiiing的博客 115

Pandas滚动窗口的妙用:动态计算列数据的最大值

Pandas的滚动窗口(rolling window)功能是数据分析中处理时间序列数据的重要工具。本文通过实例演示了如何使用rolling(window=4).max()计算DataFrame列A的滚动最大值,并将结果存入新列Max_Range。该方法会在4个元素的滑动窗口内计算最大值,前3行因数据不足显示为NaN。这种技术广泛应用于金融分析(如股价波动)、数据平滑和趋势识别等场景,能有效帮助分析数据的动态变化特征。示例展示了从数据准备到结果输出的完整流程,体现了Pandas在处理滑动窗口计算时的高效性和便

m0_74337424的博客 52

使用Java来完成一些小项目

项目目录转发自http://blog.jobbole.com/49762/,写完一个小任务,将其转化为链接。 文本操作 逆转字符串——输入一个字符串,将其逆转并输出。 拉丁猪文字游戏——这是一个英语语言游戏。基本规则是将一个英语单词的第一个辅音音素的字母移动到词尾并且加上后缀-ay(譬如“banana”会变成“anana-bay”)。可以在维基百科上了解更多内容。 统计元音字母——输入一个...

shaochong047的博客 9701

【nvidia-B200 生产环境】NVIDIA 570.124.06+Cuda12.8 Ubuntu22.04 nccl-test 一键部署脚本(免修改复制即用)

目录1. 初始化与日志记录2. 安装基础工具与配置更新3. NVIDIA 驱动安装 570.124.064. 安装 Mellanox OFED 24.10-2.1.8.05. 安装 CUDA 12.86. 安装 NCCL 和测试7. 配置 rc.local 和其他优化8. B200 单独步骤9. 最终测试与重启10. 完整生产脚本,复制即可直接使用总结 功能: 设置日志目录和日志文件路径。 使用 命令将标准输出和错误输出同时写入日志文件和终端。 记录脚本开始时间,并计算开始的秒数

jundao1997的专栏 2796

java 高德地图数据库_【爬虫】Java关于高德地图爬取数据

​ 不管是目前什么行业,对数据分析和做出合适的判断才是最重要的选择,比如,在某一个城市开一家餐馆,可以去了解这个城市目前一共有多少餐馆,分别那种菜系占比最多,大概菜系的分布范围等等信息,都可以通过爬虫的数据获得更好的分析和抉择。总结步骤如下:到高德开放平台 | 高德地图API注册账号,并且申请web服务的AK密钥,每次发送请求需要带着这个key去认证。注册账号登陆后点击右上角的控制台 ->应...

weixin_39640203的博客 857

单智能体篇:Prompt工程艺术

模型在接收到 Prompt 时会自动扮演“角色”,角色定义的好坏直接影响智能体输出的风格和专业性。角色定义的重要性让智能体具备明确身份,例如“你是一位专业理财顾问”或“你是一个幽默的文案创作助手”。角色限定了模型知识输出的范围,使回答更专业、更贴合预期。实战示例模糊Prompt给我一些投资建议。你可以投资股票或者基金。优化Prompt你是一位具有10年经验的专业理财顾问,请给我针对30岁男性,年收入20万,风险偏中等的投资组合建议。

公众号:AI前沿侦探 1301

【OAG vs RAG】RAG的“语义崩溃“:为什么你的知识库越大,AI越笨?_语义检索oag-优快云博客

19.9 元(AI 编程 / Agent 实战 | 本文同主题系统课程)·49.9 元(AI 时代成长方法论)。单篇不过瘾?订阅解锁全量源码、实战与答疑;文末附资料包领取方式 ↓图1:RAG语义崩溃概念图。

求知若渴、虚心若愚 70

使用JAVA结合Javascript、html和Python完成一些有意思的练手项目

转发自http://blog.jobbole.com/49762/ 每完成一个就会将对应项目变成链接。 文本操作 逆转字符串——输入一个字符串,将其逆转并输出。 拉丁猪文字游戏——这是一个英语语言游戏。基本规则是将一个英语单词的第一个辅音音素的字母移动到词尾并且加上后缀-ay(譬如“banana”会变成“anana-bay”)。可以在维基百科上了解更多内容。 统计元音字母——输入一个字符串...

BLOG CodingJiang = new BLOG (“hello world”); 1631

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

ip2region 离线 IP 定位库与 xdb 数据管理框架:IPv4/IPv6 极速查询、数据生成与更新实战指南

ip2region 是一个离线 IP 地址定位库与 IP 定位数据管理框架,同时支持 IPv4 与 IPv6,官方宣称单次查询响应时间可达 10 微秒级别,并为十余种主流编程语言提供了统一的 `xdb` 数据生成与查询客户端实现。本文以仓库根目录的 [README_zh.md](https://link.gitcode.com/i/9802f52aeed23f8268a428bb75a9fdb2)

gitblog_00719的博客 1139

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

java 小程序 自己学习

java 小程序 自己学习

xinyuan的专栏 3131

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

【课程设计】水果店销售管理系统的设计与实现 毕业设计-附源码55022

系统界面简洁大方,布局合理,易操作易上手。对应用户的每一步操作,系统都能高响应地做出反馈。系统具体包含对用户的管理、登录注销、商品发布、商品维护、订单结算、订单维护等功能,为水果店销售管理销售提供一个管理平台,实现对数据地高效、安全地管理.....

Biye_Design的博客 5618

【转载】有了这个列表,程序员不愁没练手的小项目了

文本操作 逆转字符串——输入一个字符串,将其逆转并输出。 拉丁猪文字游戏——这是一个英语语言游戏。基本规则是将一个英语单词的第一个辅音音素的字母移动到词尾并且加上后缀-ay(譬如“banana”会变成“anana-bay”)。可以在维基百科上了解更多内容。 统计元音字母——输入一个字符串,统计处其中元音字母的数量。更复杂点的话统计出每个元音字母的数量。 判断是否为回文——判断用户输入的字符串...

日西月东的专栏 479

python爬高德地图_【爬虫】Java关于高德地图爬取数据

​不管是目前什么行业,对数据分析和做出合适的判断才是最重要的选择,比如,在某一个城市开一家餐馆,可以去了解这个城市目前一共有多少餐馆,分别那种菜系占比最多,大概菜系的分布范围等等信息,都可以通过爬虫的数据获得更好的分析和抉择。总结步骤如下:到高德开放平台 | 高德地图API注册账号,并且申请web服务的AK密钥,每次发送请求需要带着这个key去认证。注册账号登陆后点击右上角的控制台 ->应用...

weixin_39854070的博客 700

(课程设计)springboot手工艺品在线销售系统的设计与实现-计算机毕设 附源码 29217

注册用户模块 1.注册登录:用户可以通过注册和登录功能访问平台,浏览商品、下单购物、管理个人信息及订单。 2.首页:用户登录后可访问首页,查看推荐商品、通知公告、新闻资讯等内容。 3.通知公告:提供平台重要公告,展示系统运营相关的通知和活动信息。 4.新闻资讯:展示与手工艺品相关的最新新闻、行业动态和文化活动资讯。 5.艺品商城:用户可以浏览和购买不同类型的手工艺品,查看商品详情及价格。 6.商城管理:用户可以查看和管理自己的购物车、订单、收货地址等。 7.修改密码:用户可以修改账户密码,确保账户安全。

ID3461074420的博客 1548

基于SSM的饰品商城网站的设计与实现-计算机毕设 【课程设计】 09031

本文介绍了基于SSM(Spring、SpringMVC、MyBatis)框架的饰品商城网站的设计与实现。随着电子商务的快速发展,饰品在线销售的需求日益增长,一个高效、可靠的饰品商城网站对于满足消费者需求和提升商家竞争力至关重要。本系统采用Java语言进行开发,结合MySQL数据库进行数据存储,实现了用户和管理员两大角色的功能模块。用户可以浏览商品、搜索心仪饰品、查看商品详情、加入购物车、提交订单并完成支付;管理员则负责商品管理、订单处理、用户信息管理以及网站内容更新等操作。系统通过模块化设计,确保了代码的可

WeiXin_DZbishe的博客 1234

基于Spring Boot与Vue的水果销售系统的设计与实现-计算机毕设 【课程设计】12720

前端注册用户模块: (1)注册登录:注册和登录是用户进入系统的门户,它们是用户与系统交互的首要步骤。注册功能允许新用户创建账户,而登录功能则允许已注册用户进入他们的个人空间。 (2)首页:首页是用户进入平台后首先看到的页面,它为用户提供了一个直观的界面,展示平台的核心内容和功能。首页包括水果资讯和水果商城的推荐商品。首页的设计吸引用户深入浏览,提供丰富的信息和便捷的入口,让用户能够快速找到他们感兴趣的内容或商品。 (3)公告信息:公告信息模块是平台与用户沟通的重要渠道,用于发布最新的平台通知、活动信息、政策

WeiXin_DZbishe的博客 1769

【转载】程序员练手小项目

转自:https://github.com/jobbole/ProgrammingProjectList 有了这个列表,程序员不愁没练手的小项目了 这个列表原本首发在伯乐在线的一篇译文:http://blog.jobbole.com/49762/。 下面列出 120 多个项目构思,根据主题分成了 10 个分类。 文本操作 逆转字符串——输入一个字符串,将其逆转并输出。 拉丁猪文字游戏—...

ion_L的博客 4363
上一篇: IP注册地查询——输入ip地址,查询该ip是在哪注册的。
下一篇: JAVA实现银行账户管家
zoeJzy
博客等级 码龄9年 7粉丝 27原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值