接收 https 的 post 请求后,再发送http请求,会影响原https的response吗
发布于 9 年前 作者 yongchen9 5824 次浏览 最后一次编辑是 8 年前 来自 问答

解释:目前在做微信开放平台开发,接收微信发过来的post请求后需要返回字符串"success"

目前接收到到post请求后直接返回"success"微信认可 但我收到post请求后,由于业务需要向自己的java服务器发送了个http请求,拿到返回值后处理业务逻辑,再返回"success"微信就不认可了(处理时间未超过微信要求的5s) 问题来了: 接收post请求后,再发送http请求,会影响原https的response吗? 如果有的话如何避免,谢谢!

7 回复

返回给微信的header是不是变了

@kiinlam 谢谢。 微信发过来post的数据是xml ,request.headers 的"content-type":“text/xml”, 需要我返回去的String,我试了 “text/xml”,text/html,text/plain,application/xml 等几个都不行, 注:收到消息后直接返回时 用的是 text/plain 通过微信验证。

自己的业务需要挪到微信认可之外,不可以嘛?

@leapon 谢谢。 其实就是我需要解析微信发过来的消息,判断做什么业务。 在不确定它发什么消息过来的情况下,不知道回复微信什么。

exports.tenPays=function(req,res,next){
  var body='';
  req.accepts('application/xml')
  req.on('data',function(chunk){
    body+=chunk;
  });
  req.on('end',function(){
  //把 body 传给java处理后
	res.writeHead(200, {'Content-Type':'text/plain'});
	res.end("success");
    }));
  });
}

@hezedu 谢谢。 我一直也是这么写的,一直失败,看到你的回复我又测了一遍,居然成功了,多谢。 错误原因是其他逻辑写错导致未执行到正确代码,所以直接回复就行了。

结贴! 接收 https 的 post 请求后,再发送http请求,不会影响原https的response。 感谢各位。

回到顶部