From 5cac1da67768c3dbbcd74e50ad59cb80fb82def0 Mon Sep 17 00:00:00 2001 From: KKSU <15274802129@163.com> Date: Thu, 18 Jan 2024 11:21:36 +0800 Subject: [PATCH] fapiao --- src/test/java/cc/mrbird/febs/ProfitTest.java | 108 +++++++++++++++++++++++------------------------------- 1 files changed, 46 insertions(+), 62 deletions(-) diff --git a/src/test/java/cc/mrbird/febs/ProfitTest.java b/src/test/java/cc/mrbird/febs/ProfitTest.java index 554e4dd..1c57182 100644 --- a/src/test/java/cc/mrbird/febs/ProfitTest.java +++ b/src/test/java/cc/mrbird/febs/ProfitTest.java @@ -46,6 +46,7 @@ import org.apache.http.entity.StringEntity; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; +import org.apache.http.message.BasicNameValuePair; import org.apache.http.util.EntityUtils; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; @@ -196,54 +197,44 @@ @Test public void rankProfit04() throws IOException {//获取用户填写的抬头 - FPUserTitleDto fpUserTitleDto = new FPUserTitleDto(); - fpUserTitleDto.setScene("WITH_WECHATPAY"); - fpUserTitleDto.setFapiao_apply_id(""); - - String parseObj = JSONUtil.parseObj(fpUserTitleDto).toString(); + //初始化请求参数 + Map<String, Object> params = new HashMap<>(); + params.put("scene","WITH_WECHATPAY"); + params.put("fapiao_apply_id","4200002070202401175245187105"); + String parseObj = JSONUtil.parseObj(params).toString(); System.out.println(parseObj); + String baseUrl = "https://api.mch.weixin.qq.com"; String canonicalUrl = "/v3/new-tax-control-fapiao/user-title"; + + String urlparm = baseUrl+canonicalUrl;//有参数的get请求,加密是需要把参数加载进去URL + List<BasicNameValuePair> parameters = new ArrayList<>(); + for (Map.Entry<String, Object> entry : params.entrySet()) { + parameters.add(new BasicNameValuePair(entry.getKey(), entry.getValue().toString())); + } + StringBuilder dataparm = new StringBuilder(); + params.forEach((k, v) -> dataparm.append("&" + k + "=" + v)); + String string = dataparm.toString(); + if (!"".equals(string)) { + urlparm = baseUrl+canonicalUrl + "?" + dataparm.substring(1); + } + System.out.println(urlparm); + PrivateKey privateKey = wxFaPiaoService.getPrivateKeyV3(); String postStr = null; try { postStr = wxFaPiaoService.createAuthorization( - "POST", - baseUrl+canonicalUrl, - parseObj, + "GET", + urlparm, + "", privateKey ); } catch (NoSuchAlgorithmException e) { e.printStackTrace(); } - String token = AppContants.FP_TOKEN_HEADER_TYPE+postStr; - - System.out.println("WECHATPAY2-SHA256-RSA2048 "+postStr); - String s = wxFaPiaoService.sendPost(baseUrl + canonicalUrl, parseObj, "WECHATPAY2-SHA256-RSA2048 "+postStr); + String s = wxFaPiaoService.sendGet(baseUrl+canonicalUrl, params, "WECHATPAY2-SHA256-RSA2048 "+postStr); System.out.println(s); - cn.hutool.json.JSONObject jsonObject = JSONUtil.parseObj(s); - System.out.println(jsonObject); - } - - @Test - public void rankProfit05() throws IOException {//获取用户填写的抬头 - byte[] bytes = "daL341aN5orDt13puXadsAf2rpuX12v3".getBytes("utf-8"); - try { - //传入证书 - PrivateKey privateKey = wxFaPiaoService.getPrivateKeyV3(); - //刷新 - PrivateKeySigner signer = new PrivateKeySigner(AppContants.WX_CARD_NUM, privateKey); - WechatPay2Credentials credentials = new WechatPay2Credentials("1658958205", signer); - AutoUpdateCertificatesVerifier autoUpdateCertificatesVerifier = new AutoUpdateCertificatesVerifier(credentials - , bytes); - - NotificationHandler handler = new NotificationHandler(autoUpdateCertificatesVerifier,bytes); - } catch (UnsupportedEncodingException e) { - e.printStackTrace(); - } catch (IOException e) { - e.printStackTrace(); - } - } + } @Test public void rankProfit2() throws IOException {//查询配置开发选项 @@ -263,22 +254,25 @@ e.printStackTrace(); } System.out.println("WECHATPAY2-SHA256-RSA2048"+postStr); - try { - HttpClient httpClient = new HttpClient(); - GetMethod method = new GetMethod(baseUrl+canonicalUrl); - method.setRequestHeader("Accept", "application/json"); - method.setRequestHeader("User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.106 Safari/537.36"); - method.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8"); - method.setRequestHeader("Connection", "keep-alive"); - method.setRequestHeader("Authorization", "WECHATPAY2-SHA256-RSA2048 "+postStr); - httpClient.executeMethod(method); - System.out.println(method); - String responseBodyAsString = method.getResponseBodyAsString(); - cn.hutool.json.JSONObject maps = JSONUtil.parseObj(responseBodyAsString); - System.out.println(maps); - } catch (IOException e) { - e.printStackTrace(); - } + String s = wxFaPiaoService.sendGet(baseUrl + canonicalUrl, new HashMap<>(), "WECHATPAY2-SHA256-RSA2048 "+postStr); + + System.out.println(s); +// try { +// HttpClient httpClient = new HttpClient(); +// GetMethod method = new GetMethod(baseUrl+canonicalUrl); +// method.setRequestHeader("Accept", "application/json"); +// method.setRequestHeader("User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.106 Safari/537.36"); +// method.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8"); +// method.setRequestHeader("Connection", "keep-alive"); +// method.setRequestHeader("Authorization", "WECHATPAY2-SHA256-RSA2048 "+postStr); +// httpClient.executeMethod(method); +// System.out.println(method); +// String responseBodyAsString = method.getResponseBodyAsString(); +// cn.hutool.json.JSONObject maps = JSONUtil.parseObj(responseBodyAsString); +// System.out.println(maps); +// } catch (IOException e) { +// e.printStackTrace(); +// } } @@ -301,18 +295,8 @@ } catch (NoSuchAlgorithmException e) { e.printStackTrace(); } - HttpClient httpClient = new HttpClient(); + String responseBodyAsString = wxFaPiaoService.sendGet(baseUrl + canonicalUrl, new HashMap<>(), "WECHATPAY2-SHA256-RSA2048 "+postStr); try { - GetMethod method = new GetMethod(baseUrl+canonicalUrl); - method.setRequestHeader("Accept", "application/json"); - method.setRequestHeader("User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.106 Safari/537.36"); - method.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8"); -// method.setRequestHeader("Connection", "keep-alive"); - method.setRequestHeader("Authorization", "WECHATPAY2-SHA256-RSA2048 "+postStr); - int i = httpClient.executeMethod(method); - System.out.println(i); - System.out.println(method); - String responseBodyAsString = method.getResponseBodyAsString(); cn.hutool.json.JSONObject maps = JSONUtil.parseObj(responseBodyAsString); System.out.println(maps); -- Gitblit v1.9.1