Problem analysis:
We know that when the front-end program sends a request to the back-end server, if the server does not allow cross-domain requests, a 403 error will occur (the error message is : "Invalid CORS request"). So how to solve this problem?
(Learning video sharing: Programming video)
Solution:
Configure the trusted domain to the CORS allowed source address list, as follows The code is shown:
@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; }
For the development of WeChat applet, the situation is a little different. Since the WeChat applet only allows https connections in the domain name, an intranet penetration tool such as peanut shell is used to build a A public domain name accessible from the outside. The public domain name points to the internal address.
While debugging, I encountered the problem of illegal cross-domain requests. The reason is that when requesting the backend server, the WeChat developer tool includes the Origin field in the request header, so the server determines that it is a cross-domain request. Through tools such as Fiddler, you can capture packets and see the following information:
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"}
The reason is here. If you preview or debug directly on your mobile phone, you will not encounter this problem.
Add http://127.0.0.1:55135 to the domain that allows CORS access, and you can start debugging happily.
Of course, the port 55135 changes frequently, and I have not yet found a way to fix it. Currently, you can quickly find this port through the following methods (taking Windows as an example):
1. tasklist | findstr "wechat", find the process number with the largest memory usage, such as 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", find the line with the status LISTENING and the only port
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 is the port we are looking for.
Related recommendations: WeChat Mini Program Development Tutorial
The above is the detailed content of How to solve the 403 error when developing a small program. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

SublimeText3 Linux new version
SublimeText3 Linux latest version

MantisBT
Mantis is an easy-to-deploy web-based defect tracking tool designed to aid in product defect tracking. It requires PHP, MySQL and a web server. Check out our demo and hosting services.

Zend Studio 13.0.1
Powerful PHP integrated development environment

SAP NetWeaver Server Adapter for Eclipse
Integrate Eclipse with SAP NetWeaver application server.

VSCode Windows 64-bit Download
A free and powerful IDE editor launched by Microsoft
