http操作,模拟第三方接口回调通知

可以用来检验返回给第三方的回应SUCCESS是否正确,包括编码,是否有空格

模拟第三方接口发送回调notify

<span style="white-space:pre">	</span>import java.io.IOException;
	import java.io.InputStream;
	import java.io.OutputStream;
	import java.net.HttpURLConnection;
	import java.net.URL;

	private static byte[] readContent(final InputStream in, int length) throws IOException {
		byte dataBytes[] = new byte[length];
		int bytesRead = 0;
		int n = 0;
		int leftbytes = length;
		while (leftbytes > 0
				&& (n = in.read(dataBytes, bytesRead, leftbytes)) != -1) {
			leftbytes = length - bytesRead;
			bytesRead = bytesRead + n;
		}
		return dataBytes;
	}

	public static void main(String args[]){
		//double a = 1/3.0;
		//System.out.println("你丫的是啥"+a);
		try {

			URL url = new URL("https://www.1hedai.com/page/style4/yeepayCallBack/SpaceNotify.jsp");
			HttpURLConnection urlcon = (HttpURLConnection) url.openConnection();
			urlcon.setReadTimeout(5000);
			urlcon.setDoOutput(true);
			urlcon.setDoInput(true);
			urlcon.setRequestMethod("POST");
			urlcon.setRequestProperty("Content-Type", "text/xml;charset=UTF-8");
			OutputStream out = urlcon.getOutputStream();

			out.write("测试返回的SUCCESS".getBytes("UTF-8"));
			out.flush();
			out.close();

			int length = urlcon.getContentLength();
			InputStream in = urlcon.getInputStream();
			byte[] b = readContent(in, length);
			String result =  new String(b, "UTF-8");
			System.out.println("收到的回调:" + result + "0");

		} catch (Exception e) {
			e.printStackTrace();
		}
	}

服务器接收到notify,并发送回应SUCCESS

<span style="white-space:pre">	</span>//接口回调
	//打印参数
	System.out.println("+++++++++++++++ space Notify ++++++++++++++++++");

	//声明JSP对象
	try{
		// 验签
		//boolean flag = SignUtil.verifySign(sourceMessage, signMsg);
		//out.print("SUCCESS");
		response.setHeader("Content-type", "text/html;charset=UTF-8");
		response.setCharacterEncoding("UTF-8");
		//response.getWriter().write("SUCCESS");

		OutputStream outStream = response.getOutputStream();
		outStream.write("SUCCESS".getBytes("UTF-8"));
		//outStream.flush();
		outStream.close();
	}catch(Exception e){
		 e.printStackTrace();
	}

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2025-01-05 19:58:59

http操作,模拟第三方接口回调通知的相关文章

某航空项目第三方接口测试总结及接口测试技术的探讨

XX项目第三方接口测试总结及接口测试技术的探讨 1. 了解第三方接口 1.1 第三方接口的概念 XX项目第三方接口也就是电子客票网站扩展接口,主要功能是为了满足用户通过对接口的调用来替代原来用户必须进入网站才能进行相关操作的需求,方便代理人(大客户)提高自有系统流程的自动化程度.常见的第三方接口为商旅网接口包括携程.去哪儿等OTA及一些较大的代理人网站等. 1.2 网站与第三方接口的关系 接口的业务功能与现有网站功能必须一致,用户使用接口生成的订单,也可以通过登录网站来进行处理,如用户可以在第三

SpringMVC 结合HttpClient调用第三方接口实现

使用HttpClient 需要依赖jar包 1:commons-httpclient-3.0.jar 2:commons-logging-1.1.1.jar 3:commons-codec-1.6.jar 本地调用测试===>>>>>>>>>>>> package com.me.cn.siteTrans.test; import java.util.HashMap; import java.util.Map; import org.a

Android 接口回调机制详解

在使用接口回调的时候发现了一个经常犯的错误,就是回调函数里面的实现有可能是用多线程或者是异步任务去做的,这就会导致我们期望函数回调完毕去返回一个主函数的结果,实际发现是行不通的,因为如果回调是多线程的话你是无法和主函数同步的,也就是返回的数据是错误的,这是非常隐秘的一个错误.那有什么好的方法去实现数据的线性传递呢?先介绍下回调机制原理. 回调函数 回调函数就是一个通过函数指针调用的函数.如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用为调用它所指向的函数时,我们就说这是回调函数

调用支付宝第三方接口(沙箱环境) SpringMVC+Maven

一.蚂蚁金服开放平台的操作 网址:https://open.alipay.com/platform/home.htm 支付宝扫码登陆 之后配置你的沙箱支付宝 支付宝提供一键生成工具便于开发者生成一对RSA2密钥:https://docs.open.alipay.com/291/105971 注意:生成时一定要选择PKCS8+2048,第一个坑    将应用网关和回调地址更改为:https://www.alipay.com [AES密钥不用管] [然后往下会有支付宝沙箱安卓端工具,下载,以供后续支

asp.net后台集成QQ第三方接口含发送微博、带图片微博(有源码)

最近在做项目的时候用到了QQ第三方接口,腾讯提供了JS.安卓.IOS.php的SDK,但是没有C#的SDK.一开始我是在前台直接用JS的SDK做登陆验证,但是做完自己就感觉这样很可笑,JS是暴露给客户端的,那么客户完全可以直接绕过去,进入到你的后台. 所以我在通过登陆验证后回调后台页面,在后台进行合法性验证,防止非法登陆. 原理就是后台通过httpwebrequest操作第三方接口 /// <summary> /// HTTP POST方式请求数据 /// </summary> /

如何与第三方接口保持数据一致性

大家经常遇到这样的需求,尤其是支付中心接口的时候: 查询满足某种条件的订单,调用第三方接口成功,更改订单状态. 常见实现示例 task1: orders = queyrOrder(...); //查询已离店的订单         for (Map<String, Object> order : orders) {             try {                 con.setAutoCommit(false);                 String orderNo

java接口回调的经典使用案例

java接口回调的经典使用案例 内容简介: 接口回调的理解及需要关注的问题 接口回调一般常规用法 接口回调简洁用法 接口回调的意义 接口回调简介: 简单的说接口回调就是:调用者A类访问了被调用者B类中的M方法.这个M方法在执行完毕后又调用了A类中的方法. 问题? B类中的M方法是如何访问A类中的方法的呢?弄清了这个问题,也就明白了接口回调. 下面我们根据一个场景描述去编写代码: 我们在调用者Caller类中使用被调用者Collee类中的下载文件方法DownLoadFile().下载完成后要通知C

第三方接口调用异常补偿机制实现实例记录

背景: 我们的组件(简称A),在业务链中属于数据支撑节点.其中与组件B存在接口同步数据的直接关系(API接口直接调用进行数据交互) 问题: 我们的上游有另一个组件C(带有界面),调用A(us)进行数据的变更操作,此时需要A调用B服务接口进行同步,问题出在这里,C调用 A通常速度比较快,比较稳定,但是A调用B经常超时或者失败,网络原因or 组件B自己的设计原因吧,反正是推不动 方案:经沟通考察,这条数据的变更在可接受的时间范围只要最终一致即可,于是首先,我们先将事物中的调用B服务的一系列逻辑抽出来

接口回调和向上转型

抄别人的,但为了自己掌握更加的踏实,所以复制到这里,拜谢原创!http://blog.csdn.net/u014025369/article/details/24707525 接口回调是指:可以把使用实现了某一接口的类创建的对象的引用赋给该接口声明的接口变量,那么该接口变量就可以调用被类实现的接口的方法.实际上,当接口变量调用被类实现的接口中的方法时,就是通知相应的对象调用接口的方法,这一过程称为对象功能的接口回调.看下面示例.interface People {     void people