当前位置:首页站长学院后端开发开发小程序遇到403错误怎么解决
企业营销,就选知企PROSAAS

开发小程序遇到403错误怎么解决

开发小程序遇到403错误怎么解决

问题分析:

我们知道当前端程序向后台服务器发送请求时,如果服务器不允许跨域请求,就会发生403错误(错误信息为:“Invalid CORS request”)。那么该怎么解决这个问题呢?

(学习视频分享:编程视频)

解决方法:

将信任的域配置到CORS允许的源地址列表中,如下代码所示:

@Bean
public CorsFilter corsFilter() {
   UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
   CorsConfiguration config = new CorsConfiguration();
   config.setAllowCredentials(true);
   config.addAllowedOrigin("http://localhost:3000");
   config.addAllowedOrigin("http://127.0.0.1:3000");
   config.addAllowedOrigin("http://127.0.0.1:55135");
   config.addAllowedHeader(CorsConfiguration.ALL);
   config.addAllowedMethod(CorsConfiguration.ALL);
   source.registerCorsConfiguration("/**", config);
   CorsFilter bean = new CorsFilter(source);
   return bean;
}

对于微信小程序的开发,情况有点不一样,由于微信小程序只允许以域名方式的https连接,因此通过花生壳等内网穿透工具,搭建了一个外部可访问的公网域名,公网域名指向内部地址。

在调试时,就遇到了非法的跨域请求这个问题。其原因是在向后台服务器请求时,微信开发者工具在请求头中,带上了Origin字段,因此服务器判断是一个跨域请求。通过Fiddler等工具可以抓包看到如下信息:

POST https://xxx.xxx.net/public/login HTTP/1.1Host: sharework.gicp.netConnection: keep-aliveContent-Length: 50Pragma: no-cacheCache-Control: no-cacheOrigin: http://127.0.0.1:55135User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13B143 Safari/601.1 wechatdevtools/1.02.1902010 MicroMessenger/6.7.3 Language/zh_CN webview/ token/e011a64b71b385130aa1f595fe48521ccontent-type: application/jsonAccept: */*Referer: https://servicewechat.com/wx955fc9354838fd46/devtools/page-frame.htmlAccept-Encoding: gzip, deflate, br
{"account":"user","password":"defaultPassword123"}

原因就在这里了。如果直接在手机上预览或调试则不会遇到这个问题。

把http://127.0.0.1:55135加入到允许CORS访问的域中,就可以愉快地开始调试了。

当然,55135这个端口经常会变化,我暂时也没有找到办法将它固定。目前可以通过下列方法快速找到这个端口(以windows为例):

1、tasklist | findstr "wechat",找到内存使用最大的那个进程号,比如12824

E:\apps\data-integration>tasklist | findstr "wechat"
wechatdevtools.exe           13180 Console                    2     98,572 K
wechatdevtools.exe           11092 Console                    2      7,676 K
wechatdevtools.exe           15276 Console                    2    132,520 K
wechatdevtools.exe           18380 Console                    2    136,748 K
wechatdevtools.exe            8652 Console                    2     26,100 K
wechatdevtools.exe           12824 Console                    2    183,668 K
wechatdevtools.exe           16124 Console                    2     89,524 K
wechatdevtools.exe            1164 Console                    2    103,336 K
wechatdevtools.exe           12616 Console                    2     77,056 K
wechatdevtools.exe           13136 Console                    2     83,312 K

2、netstat -ano | findstr "12824",找到状态为LISTENING,且端口唯一的那一行

E:\apps\data-integration>netstat -ano | findstr "12824"
  TCP    127.0.0.1:28475        0.0.0.0:0              LISTENING       12824
  TCP    127.0.0.1:28475        127.0.0.1:61306        ESTABLISHED     12824
  TCP    127.0.0.1:28475        127.0.0.1:61318        ESTABLISHED     12824
  TCP    127.0.0.1:28475        127.0.0.1:61402        ESTABLISHED     12824
  TCP    127.0.0.1:28475        127.0.0.1:61403        ESTABLISHED     12824
  TCP    127.0.0.1:55135        0.0.0.0:0              LISTENING       12824

3、55135就是我们要找的端口了。

相关推荐:微信小程序开发教程

以上就是开发小程序遇到403错误怎么解决的详细内容,更多请关注知企PROSAAS其它相关文章!

温馨提示:

文章标题:开发小程序遇到403错误怎么解决

文章链接:https://ceshi.prosaas.cn/16489.html

更新时间:2020年12月21日

声明: 本站大部分内容均收集于网络!若内容若侵犯到您的权益,请发送邮件至:973664285@qq.com我们将第一时间处理! 资源所需价格并非资源售卖价格,是收集、整理、编辑详情以及本站运营的适当补贴,并且本站不提供任何免费技术支持。 所有资源仅限于参考和学习,版权归原作者所有,更多请阅读知企PROSAAS协议

给TA打赏
共{{data.count}}人
人已打赏
后端开发

小程序开发规范你了解多少

2020-12-18 9:33:47

后端开发

小程序怎么用js修改css

2020-12-21 10:29:53

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索