/** 创建日期 2017-4-7** TODO 要更改此生成的文件的模板,请转至* 窗口 - 首选项 - Java - 代码样式 - 代码模板*/
package com.enfo.intrust.command;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.methods.*;
import net.sf.json.JSONObject;
import java.util.Properties;
import java.io.IOException;/*** @author tapt** TODO 要更改此生成的类型注释的模板,请转至* 窗口 - 首选项 - Java - 代码样式 - 代码模板*/public class BankCommandService {private static String rootURL="";//银企直联平台服务器地址private static Properties commandProperties=new Properties();//读取银企直联平台配置文件的属性static{try {commandProperties.load(BankCommandService.class.getResourceAsStream("BankCommand.properties"));rootURL=commandProperties.getProperty("rootURL");} catch (IOException e) {// TODO Auto-generated catch block
            e.printStackTrace();}}/*** @TODO 通用方法,传入一个json,连接银企直联平台,返回平台响应的json* */public String sendCommand(String commandURL,String sendJson){String resultJson="银企直连平台返回异常";try {      // 新建HttpClient对象,用于访问银企直联平台;HttpClient httpClient = new HttpClient();PostMethod postMethod = new PostMethod(commandURL);// 让post请求携带json数据RequestEntity requestEntity = new StringRequestEntity(sendJson,"application/json", "UTF-8");postMethod.setRequestEntity(requestEntity);// 发送post请求
            httpClient.executeMethod(postMethod);// 得到从银企直联响应的json数据resultJson = new String(postMethod.getResponseBody());} catch (Exception e) {e.printStackTrace();}                return resultJson;}/*** @TODO 直接划款* */public String directPay(String sendJson){String commandURL=rootURL+commandProperties.getProperty("directPayCommand");return sendCommand(commandURL,sendJson);}/*** @TODO 批量查询余额* */public String getBalanceBatch(String sendJson){String commandURL=rootURL+commandProperties.getProperty("getBalanceBatchCommand");return sendCommand(commandURL,sendJson);}/*** @TODO 查询账户列表* */    public String getAccountList(String sendJson){String commandURL=rootURL+commandProperties.getProperty("getAccountListCommand");return sendCommand(commandURL,sendJson);}/*** @TODO 用于测试银企直联返回数据的方法-查询所有账户列表* */public static void main(String[] args) {JSONObject jsonObject = new JSONObject();JSONObject headvalue=new JSONObject();JSONObject bodyvalue=new JSONObject();JSONObject infovalue=new JSONObject();headvalue.put("request_no", "001201612221707000002");headvalue.put("device_type", "1");headvalue.put("cust_id", "1122345452");headvalue.put("router", "1");headvalue.put("channel", "01");headvalue.put("app_id", "0001");headvalue.put("charset", "UTF-8");headvalue.put("version", "1.0.0.1");headvalue.put("sign", "MScRd7GM52W41VpRGxn7BtNWsSLM/RZPzbIGjxQFiChQcN8CXTjFU9MVtDP7NXxgZZddVc+NOc+P91anV9fQ1TjtdYZJr5hg1xPP/CAokB5LlxANnc+UfBcGQWGRGjXa/wijRPvdu7hiHEKW4dNt6giQgQMlcH/1eobXY5Z4pmU=");headvalue.put("language", "CN");jsonObject.put("head", headvalue);infovalue.put("buscod", "n03010");infovalue.put("busmod", "00001");bodyvalue.put("info", infovalue);jsonObject.put("body", bodyvalue);//创建查询账户列表的发送jsonSystem.out.println("要传入到银企直联的json数据是:\n"+jsonObject.toString());System.out.println("从银企直联平台查询账号列表,接收到的响应是:");//调用业务逻辑方法,取得返回的json并打印String resultString=new BankCommandService().getAccountList(jsonObject.toString());System.out.println(resultString);       }
}

转载于:https://www.cnblogs.com/tapt/p/6679502.html

使用HttpClient实现对第三方服务器的请求并接受返回数据相关推荐

  1. 小程序部分机型请求200、返回数据为空

    情景描述 ssm+mysql+jdk1.7+tomcat7+centos7 接口在网页端正常使用,在小程序端部分机型(魅族.乐视)的部分接口失效 开发者工具调试正常 真机上调试请求报200,传参成功, ...

  2. 请求成功得到返回数据还是走到catch_面试:SpringMVC在接收到请求后的调用细节是什么?...

    分享自己在Java方面的所思所想,希望你看完之后能有更多更深入的了解 本人微信公众号(jwfy的学习分享),欢迎关注- 接收到一个新的请求之后,spring就会去根据请求的URL信息选择具体的代码块去 ...

  3. Springboot使用AOP记录请求日志和返回数据

    首先是日志表结构 DROP TABLE IF EXISTS `protal_logvo`; CREATE TABLE `protal_logvo` (`id` varchar(255) NOT NUL ...

  4. 前端通过Ajax请求从后台返回数据到页面显示,实现分页功能

    本文纯属自己平时编代码时的总结,主要用于自己以后方便查看 后端controller代码 JsonMessage jsonMessage = new JsonMessage(); //********* ...

  5. 【SpringBoot】Http请求统一异常(返回数据)处理与单元测试

    对返回数据格式的统一 首先规定一下错误的输出格式: { "code": 1,"msg": "提示","data": nu ...

  6. okhttp请求php接口,安卓:okhttp请求,获取返回数据

    要引入okhttp.jar private void HttpResponse(String url, final TextView textView) { OkHttpClient client = ...

  7. 微信小程序API——向服务器发送请求

    在微信小程序中,我们可以通过微信的API与服务器进行数据传递,接下来我会详细介绍一下wx.request的用法. 首先给出前端代码,我们定义一个按钮,绑定点击事件,用于给服务器发送请求.当服务器返回数 ...

  8. 实现小程序连接服务器(Java后台)发送请求,并返回响应

    实现小程序连接服务器发送请求,并返回响应 一.思路 二.服务器端准备(Java Servlet) 三.小程序准备 四.如果是访问云服务器应该怎么办. 思路: 怎么样把javaweb项目部署到宝塔面板中 ...

  9. 第三方服务器获取微信公众号图文消息

    最近遇到个需求,对方搞了个公众号,在上面发布了一些图文消息,他们想在子菜单里搞个第三方网页,点击进去能看到这个公众号发布的所有图文消息,我研究了下,具体实现如下: 0x00准备工作 根据公众平台技术文 ...

最新文章

  1. BZOJ 4422 (线段树、DP、扫描线、差分)
  2. c++ primer 5th 练习11.9自己编写的答案
  3. Luogu P2735 电网【真·计算几何/Pick定理】By cellur925
  4. [蓝桥杯][2017年第八届真题]小数第n位(数学)
  5. o在linux是什么权限,Linux权限管理基本知识大全
  6. 取出被正则表达式匹配的值
  7. 快读快写:读入输出优化
  8. mysql数据的持久化_一起做个简单的数据库(五):持久化存储
  9. NeurlPS2021 | 视觉语言导航的课程学习
  10. Drool学习记录(一) 概念、Helloworld
  11. Coursera 斯坦福大学科学论文写作课程笔记(一)
  12. 计算机网络实验4 — 网线制作
  13. 2021年汽车修理工(中级)考试题库及汽车修理工(中级)实操考试视频
  14. java 自然对数的底数_Java求自然对数底e的值
  15. 论文阅读|Embodied Hands: Modeling and Capturing Hands and Bodies Together
  16. 递归回溯生成和解决数独问题c/c++
  17. 电信卡 LTE 无法短信发送
  18. android:foreground
  19. Eclipse @override报错
  20. 圆刚采集卡测试软件,RECentral(圆刚视频采集卡管理助手)V4.3.0.35 正式版

热门文章

  1. ivy java_Ivy 在eclipse里的配置
  2. ESA和NetWeaver
  3. 简书bug(已修复):简友圈含英文时误删空格
  4. 使用GDAL获取HDF等数据集中的图像
  5. Golang1.8新特性展望及2016发展回顾
  6. golang连接mysql操作示例增删改查
  7. 以用户为中心的SNS站点数据库设计及实现
  8. jquery 检测div宽度变化_jquery判断浏览器宽度小于指定值改变div样式
  9. lpc2000 filash utility 程序烧写工具_重点必看 | 取证小程序开发之第四届美亚杯硬盘信息快速解题...
  10. java合并并排序_典型合并排序的Java实现