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沙箱调用的更多相关文章

  1. 支付宝对账单下载Java正式商户调用

    package code; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; impo ...

  2. 支付宝(查询对账单下载地址(alipay.data.dataservice.bill.downloadurl.query))

    通过url下载zip对账单文件,进行解压,读取压缩文件内容. import java.io.BufferedOutputStream; import java.io.BufferedReader; i ...

  3. Java沙箱安全机制介绍【转载】

    沙箱安全机制的应用层面:360沙箱.win10沙箱.包括VMware Workstation.Oracle VM VirtualBox都可以充当沙箱去使用,沙箱中的操作与本机无关,进而保证本机的安全性 ...

  4. OpenCV4Android开发之旅(一)----OpenCV2.4简介及 app通过Java接口调用OpenCV的示例

    转自:  http://blog.csdn.net/yanzi1225627/article/details/16917961 开发环境:windows+ADT Bundle+CDT+OpenCV-2 ...

  5. Java沙箱技术

    自从Java技术出现以来,有关Java平台的安全性及由Java技术发展所引发的新的安全性问题,引起了越来越多的关注.目前,Java已经大量应用在各个领域,研究Java的安全 性对于更好地使用Java具 ...

  6. java中调用dll文件的两种方法

    一中是用JNA方法,另外是用JNative方法,两种都是转载来的, JNA地址:http://blog.csdn.net/shendl/article/details/3589676   JNativ ...

  7. 如何在Java中调用Python代码

    有时候,我们会碰到这样的问题:与A同学合作写代码,A同学只会写Python,而不会Java, 而你只会写Java并不擅长Python,并且发现难以用Java来重写对方的代码,这时,就不得不想方设法“调 ...

  8. 通过java程序调用ant build.xml配置文件中指定的target

    一.概述 通过ant实现项目的自动化部署,jar包生成,替换,tomcat关停.启动,查看项目日志: 通过java程序调用已编辑好的ant脚本build.xml配置文件中指定的target: 文中文件 ...

  9. 在Java中调用Python

    写在前面 在微服务架构大行其道的今天,对于将程序进行嵌套调用的做法其实并不可取,甚至显得有些愚蠢.当然,之所以要面对这个问题,或许是因为一些历史原因,或者仅仅是为了简单.恰好我在项目中就遇到了这个问题 ...

随机推荐

  1. public static List SmaDataManager.getThreads(Context context)

    public static List<TxrjThreads> getThreads(Context context) 解析获取Threads列表之要点: 1. 得到带有fail信息的th ...

  2. MyEclipse 2014安装properties文件插件

    安装步骤 1.下载PropertiesEditor插件 http://propedit.sourceforge.jp/index_en.html2.解压出features.plugins文件3.在My ...

  3. Golang 用go-sql-driver 调用MySQL存储过程时的问题排查

    今天在用go-sql-driver做MySQL driver调用MySQL的存储过程时遇到一个罕见的报错.本文对这个错误及其解做一个简单的总结. 1 问题描述 按照go中sql包提供的接口,应用层代码 ...

  4. 第一次使用Mac

    Mac禁用掉默认输入法 搜狗输入法已经包含中文.英文输入法了,其余输入法可以删除掉.按ctrol键的时候本来应该是搜狗输入法中英文切换,结果却是搜狗输入法和ABC输入法之间互相切换. 打开键盘偏好设置 ...

  5. Cordova笔记(一)

    跨平台的PhoneGap被Adobe收购,改名为Cordova,现在是Apache下的一款开源软件.网上能找到的关于PhoneGap的教程有些方法已不适用,在学习使用最新版的Cordova时有些问题需 ...

  6. 下载历史版本App

    文/timhbw(简书作者)原文链接:http://www.jianshu.com/p/edfed1b1822c著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”. 1.软件准备 [必备]C ...

  7. Android平台的音乐资源管理与播放

    Android平台基于Linux和开放手机联盟(OHA)系统,经过中国移动的创新研发,设计出拥有新颖独特的用户操作界面,增强了浏览器能力和WAP 兼容性,优化了多媒体领域的OpenCORE.浏览器领域 ...

  8. Android tesseract-orc之扫描身份证号码

    踩了不少坑,终于把这个扫描版的身份证识别做出来了,图片识别引擎用的是tesseract,在已经训练好样本的情况下,感觉识别率还是一般般~ 下面说一说大概几个坑. 一. 编译tesseract-orc ...

  9. 【MySQL】mysql出现错误“ Every derived table must have its own alias”

    Every derived table must have its own alias 这句话的意思是说每个派生出来的表都必须有一个自己的别名 一般在多表查询时,会出现此错误. 因为,进行嵌套查询的时 ...

  10. 【转】我的第一次和最后一次 Hackathon 经历

    我的第一次和最后一次 Hackathon 经历 在旧金山地区经常有一些叫做“Hackathon”的活动,吸引挺多人参加.我一直听说这个名字,可是一直不知道它到底是什么.我从来对竞赛式的活动不感兴趣,我 ...