支付宝对账单下载Java沙箱调用
package code;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL; import com.alipay.api.AlipayApiException;
import com.alipay.api.AlipayClient;
import com.alipay.api.DefaultAlipayClient;
import com.alipay.api.request.AlipayDataDataserviceBillDownloadurlQueryRequest;
import com.alipay.api.response.AlipayDataDataserviceBillDownloadurlQueryResponse; public class AlipayBillShaX {
//初始化实例请求对象
public static String APP_ID = "2016091300501441";
public static String APP_PRIVATE_KEY = "MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQCbIE5coYixmwd8Kq8cZ/veQbdVba8cQF0ac9XcekJvAW1qoxO86EHzYCaTSHpZeILub5N3IKclm1qP29ELqb/9TeHzDBAsCHBgW2Jp8YEuAK5jvG+fheakp2uJ+L8yxptdu2WdJKc02U9EtA0N81T4Gy4JtMaa0NMvu+1tYy8QhpNA7GlBmxf2v6zws6LEyv/8jWpXOw+NI38Wt8cObdSfbdNXi8gsXkKb3yb5rYrAInUagHE+suN8oycYAi+VPaL3DeHJb81cSUcAQP38/9DDENDF3duOp8DyBo4Qp/nhFClOZOZoBhYnqeKaFEZ2qeKoVr1M/DEe3evpYp8RfaAxAgMBAAECggEBAJG3CgTXM6jpoGFRUwYS4zOGdWlIy7l0+D/V2WjuayMMqzQFFZBYd0Le6b1l0o/itNK2ekXnpTqdMLd7W2ViQdb15q3AghxqnOzWSp6L3bVRrH5BTnUBeYLnRQvoXembR+wHEM9I08u/6Ub2/mBBV2prVZaGehyI1ie7lq4vAdG5rdgHr+QrAcv9+rvMIjwMRR83a7FawXG1Ivp1dpCZhhYZF9oMuDE1O15xOhCImFd/xusa/hppFxcwnAOjKwWqIjYbEfj58W/zTjmchBY8SveckrlMgp5eEo0VeC1Bz3bItYTIIG16AnSvUw2dwuZ151hGY+9nIyfjnJToz1BGTgECgYEA5Vo3pb5Gj4W4h1b7hPJAJBIRv2f7LsIKojjJjj6XUJc1Ph8eY5rfuBFMIrdfO+ajND5eGbGip0ZrxGv1Xiv1ExMM29OVUb57jicb5EfxcKns03NzAuvy3bT+PMIfQr0qa8CQSloD7d2Jt+cLGwrBMcK2v28/Sd2986x4lpl8f2ECgYEArSZUHvzVQB4GkNpIxeyH4pFG/y+t2ZBhlEYpM5WbPwx4YeiLdScTvaNLQG7j7SZjBy2bfoOn+MbZc/IC84yEf6vs/uhLAnFopTh2Yy4lMB0q+5JenuMm2/9zE7zM3q02d51eOJXp+NJiGs0/WjhYOwDfVj0jIPyGARfk0DIm4tECgYEArFc0hYkLQIG8/YXxDh9y7yfcyjV6W9JXZzrAyfBih5531axQi4wvHANzcIrWNw7CCFntH+WJUaTrCfgNsqvZRnIEMZM2GuzFrzXYEZu143Dskp+oBsQCBXMhr8o271Fx9PIH+rbVSQI1oEku4S0dqySjagpQRlMnj1lEa/X9xUECgYBFvnCX4sOLBg0i/6ncf3/klRwB4hSm0+9aKECkVJip9r3uwhqaX9klw8al94S7m4C7/XTqquFX5dDlURA7RdiBDKFzs+Gy5DeAhZO6M3YrQTR1DOosGdcnOmgCBUSIVUDhQXQYWtpZrXRy00W3c4amjZ1oQUwLF2xquFMkQW9EYQKBgQCruV08yf2v61WaEBcV2g7E5bqz5Enrvdzc/9mp9CZQFRfoh//G05Lh4mER7FhOsDZsFwFaTpXBkES6QbHYFD6vfqcboLMYxC7sCewHFCx1nSVZnqvKJ3+DvtpXNUUujf6zCDsSS9OPVwjNcCgIOcUFQT2WM6Asjfzus4yCQ9xVJg==";
public static String ALIPAY_PUBLIC_KEY = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvdGfp41Nc/HrcvcVgGJDPZg8zrOTMRb6JgUjWblKTYpuwmgbbYZaEm+czS4YKbQOK5p/k0ZUGW78jX5zfRzBHCjSCKSxbKw2RpmwcHbx6rZKStMB3Ke3MDPx/p8kayKDVKXfYH4b9ZwdMRPLrxbEiH727k4DO6K5LR6++X6nYRDPeO007uMcBJ+Lfof2s1o0Kfi5O0Mt9Z1IwoKJTFyh6OMtmhJwWrR6W1hRToMGusv1PP9rc7jUHBgPZ1zLEY1paDwEL0xXSzscN/G0Zgl7bAclW2KP5IdpavuWGes64zI7T5HU4WwpCAJMD2VsFEQUwU/qifrW0mtNT6pVq7dPTQIDAQAB";
public static AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipaydev.com/gateway.do", APP_ID, APP_PRIVATE_KEY, "json", "GBK",
ALIPAY_PUBLIC_KEY,"RSA2");
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
bill_download_url ();//下载对账单接口
}
public static void bill_download_url (){ AlipayDataDataserviceBillDownloadurlQueryRequest request = new AlipayDataDataserviceBillDownloadurlQueryRequest();
request.setBizContent("{" +
" \"bill_type\":\"trade\"," +
" \"bill_date\":\"2017-06-13\"" +
" }");
AlipayDataDataserviceBillDownloadurlQueryResponse response = null;
try {
response = alipayClient.execute(request);
System.out.println(response.getBillDownloadUrl()); } catch (AlipayApiException e) {
e.printStackTrace();
}
if(response.isSuccess()){
//将接口返回的对账单下载地址传入urlStr
String urlStr=response.getBillDownloadUrl();
//指定希望保存的文件路径
String filePath = "D:\\Users\\fund_bill_20170613.csv.zip";
URL url = null;
HttpURLConnection httpUrlConnection = null;
InputStream fis = null;
FileOutputStream fos = null;
try {
url = new URL(urlStr);
httpUrlConnection = (HttpURLConnection) url.openConnection();
httpUrlConnection.setConnectTimeout(5 * 1000);
httpUrlConnection.setDoInput(true);
httpUrlConnection.setDoOutput(true);
httpUrlConnection.setUseCaches(false);
httpUrlConnection.setRequestMethod("GET");
httpUrlConnection.setRequestProperty("CHARSET", "UTF-8");
httpUrlConnection.connect();
fis = httpUrlConnection.getInputStream();
byte[] temp = new byte[1024];
int b;
fos = new FileOutputStream(new File(filePath));
while ((b = fis.read(temp)) != -1) {
fos.write(temp, 0, b);
fos.flush();
}
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if(fis!=null) fis.close();
if(fos!=null) fos.close();
if(httpUrlConnection!=null) httpUrlConnection.disconnect();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
注意要引用SDK中的jar包 alipay-sdk-java
支付宝对账单下载Java沙箱调用的更多相关文章
- 支付宝对账单下载Java正式商户调用
package code; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; impo ...
- 支付宝(查询对账单下载地址(alipay.data.dataservice.bill.downloadurl.query))
通过url下载zip对账单文件,进行解压,读取压缩文件内容. import java.io.BufferedOutputStream; import java.io.BufferedReader; i ...
- Java沙箱安全机制介绍【转载】
沙箱安全机制的应用层面:360沙箱.win10沙箱.包括VMware Workstation.Oracle VM VirtualBox都可以充当沙箱去使用,沙箱中的操作与本机无关,进而保证本机的安全性 ...
- OpenCV4Android开发之旅(一)----OpenCV2.4简介及 app通过Java接口调用OpenCV的示例
转自: http://blog.csdn.net/yanzi1225627/article/details/16917961 开发环境:windows+ADT Bundle+CDT+OpenCV-2 ...
- Java沙箱技术
自从Java技术出现以来,有关Java平台的安全性及由Java技术发展所引发的新的安全性问题,引起了越来越多的关注.目前,Java已经大量应用在各个领域,研究Java的安全 性对于更好地使用Java具 ...
- java中调用dll文件的两种方法
一中是用JNA方法,另外是用JNative方法,两种都是转载来的, JNA地址:http://blog.csdn.net/shendl/article/details/3589676 JNativ ...
- 如何在Java中调用Python代码
有时候,我们会碰到这样的问题:与A同学合作写代码,A同学只会写Python,而不会Java, 而你只会写Java并不擅长Python,并且发现难以用Java来重写对方的代码,这时,就不得不想方设法“调 ...
- 通过java程序调用ant build.xml配置文件中指定的target
一.概述 通过ant实现项目的自动化部署,jar包生成,替换,tomcat关停.启动,查看项目日志: 通过java程序调用已编辑好的ant脚本build.xml配置文件中指定的target: 文中文件 ...
- 在Java中调用Python
写在前面 在微服务架构大行其道的今天,对于将程序进行嵌套调用的做法其实并不可取,甚至显得有些愚蠢.当然,之所以要面对这个问题,或许是因为一些历史原因,或者仅仅是为了简单.恰好我在项目中就遇到了这个问题 ...
随机推荐
- iscsi共享分区测试
要求:在服务器端Server0上创建一个分区/dev/sdb1(无需格式化),配置成iscsi target设备,块设备名称为sun1,iqn名称为iqn.2018-01.com.ultrapower ...
- Inno Setup入门(四)——为程序创建桌面快捷方式
Icons这一可选段定义所有创建在开始菜单和\或其它位置 (比如桌面) 的快捷方式.一个例子如下: [setup] ;全局设置,本段必须 AppName=Test AppVerName=TEST De ...
- 第十九章,指针小练习(C++)
#include <iostream> int main(int argc, char** argv) { int i = 1; int *n ; n=&i;//*n=i 这样的赋 ...
- numpy中的argpartition
numpy.argpartition(a, kth, axis=-1, kind='introselect', order=None) 在快排算法中,有一个典型的操作:partition.这个操作指: ...
- Windows 7系统如何设置计划任务?
Windows 7系统如何设置计划任务? 问题描述:Windows 7系统如何设置计划任务? 任务计划概述:任务计划,可以将任何脚本.程序或文档安排在某个时间运行.“任务计划”在每次启动windows ...
- [Spring学习笔记 2 ]装配各种类型的属性 map,list,array,null,properties
一.spring Ioc容器补充(1) Spring Ioc容器 DI(依赖注入): 注入的方式:设值方法注入setter(属性注入)/构造子注入(构造函数传入依赖的对象)/字段注入field(注解) ...
- iOS配置SSO授权
禁止/激活SSO授权 用于控制平台是否使用SSO方式进行授权(目前只支持新浪微博.Facebook.QQ空间.腾讯微博.人人网.Pocket.默认情况下是激活SSO授权方式.),代码如下: //激活S ...
- 关于Linux防火墙'iptables'的面试问答
1. 你听说过Linux下面的iptables和Firewalld么?知不知道它们是什么,是用来干什么的? 答案 : iptables和Firewalld我都知道,并且我已经使用iptables好一段 ...
- HDU 4638 Group (线段树 | 树状数组 + 离线处理)
Group Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submi ...
- POJ 2676 Sudoku (DFS)
Sudoku Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 11694 Accepted: 5812 Special ...