200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > 每次进微信要重新连接服务器 为什么微信重定向至服务器会发送两次请求?

每次进微信要重新连接服务器 为什么微信重定向至服务器会发送两次请求?

时间:2020-01-18 20:53:05

相关推荐

每次进微信要重新连接服务器 为什么微信重定向至服务器会发送两次请求?

目前在做微信登录的网页,使用的是微信提供的接口,用户访问的index/index的时候,跳转到微信指定的url上:

function index(){

$wxService = \App::make('App\Http\Service\WXActivityService');

$target_url = route('Index/Activity');

$redirect_url = $wxService->getWxRedirectUrl($target_url);

return redirect()->intended($redirect_url);

}

这段代码很简单,就是根据微信指定的url格式来拼接url,然后重定向到这个url($target_url)上.微信会根据其中的redirect_uri来重定向回我设置的$target_url 页面.

但是现在的问题是,微信那边带着code重定向回我的页面以后,我这边服务器会收到两次同样的请求,这就很奇怪,请问大神这是什么情况?是不是laravel的跨站重定向有问题?header函数来重定向也不能实现,实在是非常郁闷...

我记录了日志,发现index方法是只执行了一次的,但是$target_url 却被访问了两次...

日志记录如下:

[-06-20 10:43:52] local.INFO: 请求方法:GET

[-06-20 10:43:52] local.INFO: 请求方法:GET

[-06-20 10:43:53] local.INFO: 发送红包成功:用户openid:xxxxxx 本次微信回执:发放成功 suc_des: 发放成功

[-06-20 10:43:53] local.INFO: 发送红包成功:用户openid:xxxxxxI 本次微信回执:发放成功 suc_des: 发放成功

按照我的日志记录方式,我是先记录请求的方法,然后进行微信红包发放,发放后结果再记录一次,所以对于一次请求的日志记录格式应该是:

[-06-20 10:41:30] local.INFO: 请求方法:GET

[-06-20 10:41:32] local.INFO: 发送红包成功:用户openid:xxxxxxx 本次微信回执:发放成功 suc_des: 发放成功

但是上面的日志记录是先出现2次"请求方法:GET ",这就说明了这两次请求是同时进来的,第一个请求在调用微信红包接口的时候第二个请求的请求方法被记录,最后处理完微信红包接口再记录结果,这就说明微信发送了两次请求,可是这是为什么呢?而且每次都是get请求.

最后,我发现这个问题是在微信PC端上打开连接才有时候出现,在手机端的微信上打开从来没有出现过这个问题!

会不会是这个原因呢??

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。