最近项目里面需要使用一个东西,就是如何根据银行卡号获取对应的银行编号,如:ICBC,所以就在网上找了些资源,在此整理分享给大家。都是干货哦!

废话少说,直接上代码了。

package com.whb.utils;import java.io.InputStream;import org.apache.commons.io.IOUtils;
import org.apache.commons.lang.StringUtils;
import org.apache.http.HttpResponse;
import org.apache.http.HttpStatus;
import org.apache.http.client.config.RequestConfig;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;/*** @author whb* @date 2018年9月28日 下午3:31:12 * @Description: 根据银行卡号获取对应的银行变化如:ICBC* https://ccdcapi.alipay.com/validateAndCacheCardInfo.json?_input_charset=utf-8&cardBinCheck=true&cardNo=6217360599000454941* {"cardType":"DC","bank":"ZJNX","key":"6217360599000454941","messages":[],"validated":true,"stat":"ok"}*/
public class BankCardNoUtil {private static Logger log = LoggerFactory.getLogger(BankCardNoUtil.class);private static CloseableHttpClient httpClient = HttpClients.createDefault();private static int TIMEOUT = 1800000;private static RequestConfig requestConfig = RequestConfig.custom().setConnectTimeout(TIMEOUT).setSocketTimeout(TIMEOUT).build();private static String RequestUrl = "https://ccdcapi.alipay.com/validateAndCacheCardInfo.json?_input_charset=utf-8&cardBinCheck=true&cardNo=";/*** 根据银行卡号获取对应的银行变化如:ICBC* @param bankCardId* @return*/public static String getBankCardNo(String bankCardId){try {String result = getString(RequestUrl+bankCardId, "UTF-8");if(StringUtils.isNotBlank(result)){JSONObject json = JSON.parseObject(result);boolean validated = json.getBoolean("validated");if(validated){return json.getString("bank");}}} catch (Exception e) {log.info("获取银行卡有误");}return null;}public static void main(String[] args) {System.out.println(BankCardNoUtil.getBankCardNo("6217360599000454941"));}/*** get方式调用http,返回byte[]* @param String url* @return byte[]* @throws Exception*/private static byte[] getBytes(String url) throws Exception {HttpGet request = null;try {// HTTP请求request = new HttpGet(url);request.setConfig(requestConfig);log.debug(request.getRequestLine().toString());// 发送请求,返回响应HttpResponse response = httpClient.execute(request);// 响应成功int statusCode = response.getStatusLine().getStatusCode();if (statusCode == HttpStatus.SC_OK) {InputStream stream = response.getEntity().getContent();return IOUtils.toByteArray(stream);}} catch (Exception e) {throw new Exception("GET请求失败:[" + url + "]", e);} finally {if (request != null) {try {request.releaseConnection();} catch (Exception e) {}}}return null;}/*** get方式调用http,返回String* * @param String url* @param String charsetName* @return String* @throws Exception*/private static String getString(String url, String charsetName) throws Exception {byte[] bytes = getBytes(url);if (bytes == null || bytes.length <= 0) {return "";}return new String(bytes, charsetName);}}

如果还想其他渠道去查询的话,这里有提供相关地址:查询银行卡归属http://www.guabu.com/bank/。

好了,满满的爱都给你们了。

如何根据银行卡号获取对应的银行编号,如:ICBC相关推荐

  1. 通过银行卡号获取银行卡所属银行

    通过银行卡号获取银行名称的api接口, https://ccdcapi.alipay.com/validateAndCacheCardInfo.json?_input_charset=utf-8&am ...

  2. BankCardUtils(根据银行卡号 获取 银行卡类型、银行名称和银行编码 自动格式化银行卡号、手机号、身份证号输入的工具类)

    BankCardUtils 根据银行卡号 获取 银行卡类型.银行名称和银行编码 自动格式化银行卡号.手机号.身份证号输入的工具类 效果图 特点 支持自动根据银行卡号获取出银行名称.银行编码.银行卡类型 ...

  3. BankCardUtils 根据银行卡号 获取 银行卡类型、银行名称和银行编码 自动格式化银行卡号、手机号、身份证号输入的工具类

    BankCardUtils 项目地址:nanchen2251/BankCardUtils  简介:根据银行卡号 获取 银行卡类型.银行名称和银行编码 自动格式化银行卡号.手机号.身份证号输入的工具类 ...

  4. 前端根据银行卡号获取该银行卡的信息

    由银行卡号获取银行信息 现如今用户体验真心重要,当然我们也是跟着客户的需求在不断提升 使用场景: 前台页面会出现一种情况就是,用户的银行卡号输入完成之后,会自动识别到该银行卡的信息并且显示出来 具体使 ...

  5. python获取进程编号(目的、获取当前进程编号、根据编号杀死指定进程号、获取当前父进程编号)

    1. 获取进程编号的目的         获取进程编号的目的是验证主进程和子进程的关系,可以得知子进程是由那个主进程创建出来的. 获取进程编号的两种操作 获取当前进程编号 获取当前父进程编号 2. 获 ...

  6. 根据银行卡号获取开户行及银行卡类型的demo(python、android 和ios)

    最近更新了一个项目:关于银行卡匹(根据银行卡号获取开户行以及银行卡类型等信息). CSDN下载地址:https://download.csdn.net/download/wy363681759/107 ...

  7. php银行卡哪家,PHP怎么实现的根据银行卡号判断是哪个银行?

    PHP怎么实现的根据银行卡号判断是哪个银行? 提问: PHP怎么实现的根据银行卡号判断是哪个银行? 回答如下: bankList.php的内容会写在下面.请全选其中所有数据后,另存为bankList. ...

  8. 如何获取微众银行人工客服的联系方式?

    如何获取微众银行人工客服的联系方式? 微众银行作为国内首家互联网银行,自上线以来就收到很多人的好评,凭借便捷的操作方式吸引了不少的用户.但对于一部分想要使用微众银行的人来讲,他们却不知如何使用,也不知 ...

  9. C/C++获取安卓手机IMEI编号demo

    C/C++获取安卓手机IMEI编号demo #include <stdlib.h> #include <exception> #include <fstream> ...

最新文章

  1. MIT人工突触芯片新突破:指甲大小的芯片有望媲美超算
  2. 需要注意的小问题------闹的笑话
  3. Linux设备驱动之UART驱动结构
  4. 函数基本使用-函数的定义以及调用执行线路图
  5. Java——demo之仿ATM操作
  6. Spring Boot 入门小目标 3 --- 先来试着热部署
  7. 二分法查找是基于有序_201,查找顺序查找
  8. apache spark_如何将自定义数据源集成到Apache Spark中
  9. 2.apache模块mod_rpaf ,让nginx代理后端的apache获取访客真是IP
  10. 光绘文件 c语言 解析,AltiumDesigner输出光绘文件
  11. 局域网聊天的本质是函数
  12. Go语言操作MySQL的基础知识
  13. layey图片内容不居中
  14. 天翼校园客户端没有linux版本,Linux下突破校园天翼宽带客户端限制(已移植OpenWRT)...
  15. 自制VBS自动刷屏器,再也不怕刷屏刷不过别人了
  16. Nginx从入门到入坟(九)- Nginx静态资源如何防盗链
  17. Win7连接共享打印机时,报 0x00000bcb 错误
  18. python修改xml文件内容,不废话,拿来即用
  19. 【树莓派】树莓派官方系统Raspbian安装 Docker 和 青龙面板 挂JD库脚本 --详细教程,Centos和Ubuntu服务器可参考
  20. [C语言]指针之数组逆序函数:编写函数invert,将数组中的n个整数按相反顺序存放,要求用指针变量作为函数形参,并用指针的方法遍历该数组。在main函数中输入n个整数,存入数组a中;然后调用上述函

热门文章

  1. Vue.js 父组件向子组件传值和子组件向父组件传值
  2. 不会做课程大纲?吸人的课纲这样做才值钱
  3. [Python知识图谱] 三.Jieba工具中文分词、添加自定义词典及词性标注详解
  4. MATLAB中的概率论与数理统计
  5. 选择 UTF-8,结束纷争(转载) - 秋阳的软件测试专栏 - IT博客
  6. telegram机器人开发-1
  7. html5实现摄像头拍照并使用java进行照片保存
  8. 双系统在linux中修复引导文件夹,linux双系统引导修复
  9. 关于满意度调查报告--用SPSS输出各指标满意度得分和样本量
  10. 新零售 — RFID 应用案例