抓包http://www.guabu.com实现的银行卡号归属地查询
1、引入jar
<!-- Java程序的无GUI浏览器 -->
<dependency>
<groupId>net.sourceforge.htmlunit</groupId>
<artifactId>htmlunit</artifactId>
<version>2.70.0</version>
</dependency>
2、工具类
package com.cyao.util;
import com.gargoylesoftware.htmlunit.BrowserVersion;
import com.gargoylesoftware.htmlunit.WebClient;
import com.gargoylesoftware.htmlunit.html.HtmlElement;
import com.gargoylesoftware.htmlunit.html.HtmlPage;
/**
* 银行卡号归属地查询 - 工具类
*
* @author ChangYao
*/
public class BankCodeUtils {
public static final BankCodeUtils INSTANCE = new BankCodeUtils();
private static final String REGEX = " - ";
private WebClient webClient;
public BankCodeUtils() {
try {
webClient = new WebClient(BrowserVersion.CHROME);
webClient.getOptions().setCssEnabled(false);
webClient.getPage("http://www.guabu.com/bank/?cardid=6222021208888999999");
} catch (Exception ignored) {
}
}
/**
* 银行卡号归属地查询
*
* @param bankCode 银行卡号
* @return
*/
public static String checkBankName(String bankCode) {
try {
bankCode = bankCode.replace(" ", "");
final HtmlPage page = INSTANCE.webClient.getPage("http://www.guabu.com/bank/?cardid=" + bankCode);
//$("#mainleft table tbody tr").eq(3).html();
HtmlElement htmlElement = page.getElementById("mainleft").getElementsByTagName("table").get(0).getElementsByTagName("tbody").get(0).getElementsByTagName("tr").get(3).getElementsByTagName("td").get(1);
String text = htmlElement.asNormalizedText();
if (!"-".equals(text)) return text.split(REGEX)[0];
} catch (Exception e) {
e.printStackTrace();
}
return "";
}
}