CNode

接收 https 的 post 请求后,再发送http请求,会影响原https的response吗

问答
Yyongchen9发布于11 年前最后回复11 年前7 回复6562 浏览0 收藏

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

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

查看回复

回复 (7)

K
kiinlam#1·11 年前

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

Y
yongchen9#2·11 年前
引用 kiinlam返回给微信的header是不是变了

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

L
leapon#3·11 年前

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

Y
yongchen9#4·11 年前
引用 leapon自己的业务需要挪到微信认可之外,不可以嘛?

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

H
hezedu#5·11 年前
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");
    }));
  });
}
Y
yongchen9#6·11 年前
引用 hezedu

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

Y
yongchen9#7·11 年前

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

参与回复
登录后即可参与回复。登录