小程序使用局域网调试时踩得坑

小程序局域网通信

这次的坑其实是个小问题,但却让我折腾了两天没调好,真是吐血的心都有了。
我做的小程序主要是调用百度的一些AI接口来实现功能,例如语音识别,生僻字识别等等。

前天傍晚,学长在学校机房给我们演示了下,用手机和电脑都连着校内网,然后将wx,request函数的url里的ip地址改成局域网分配的本机ip。这个ip你可以用ipconfig或者mac用ifconfig查看。回来后我把代码整合了下,然而调试的时候郁闷了。我用的是mac系统,回来的时候用过自己路由的wife,也用过热点,但是真机调试的时候一直访问不到后台。

我的后台control页面里面每个函数开头都写了个
log.info(“进入了XXXX函数”);
当我在本地调试的时候,模拟器是可以正常显示结果,小程序可以正常访问后台。然而当我进行真机调试的时候,控制台如下:
小程序使用局域网调试时踩得坑_第1张图片
也就是响应超时,其实这个错误也说明了不是ip地址的错误,我之前一直以为是url里的ip有问题,会不会不能用本机ip,然而这种想法显然不对,如果url错误,那么就会直接报connect fail了,而不会还响应半天没反应。这个时候很苦恼啊,出bug了,也是和大家一样去百度各种搜索,然而并没有搜到对应我的解决问题。然后去问学长,学长也说不上来呀…也是让我去百度,他说他没用过Mac,不清楚怎么回事,他那边是可以调试的。然而我百度不到呀!心累。没法子,这么一天就过去了。第二天,准备尝试其他途径,碰巧看到掘金翻译计划微信群有新成员加入。我心想,这群里这么多人,应该有几个会是大佬,就尝试着提出了自己的困惑。

大家陆陆续续的开始响应我的提问,让我发一下控制台的报错信息,让我看看小程序网络请求的报文,看了报文知道就是调试的时候根本没有访问到后台。之后让我输入url看看能不能打开网页,然后试了下,在电脑上是能够打开的,手机上不行。

这时一位大佬已经看出问题了,让我关掉Mac的防火墙试试。一试,果然就可以访问了。这已经不是我第一次被防火墙坑了。之前给Nginx配置ssl证书也是让我折腾了好久好久,然后一直访问不了不了https,当时又是问老师又是问同学,但都没人能说的上来原因。我一直以为是ssl证书配置出了问题,但其实问题却不在这里,照样还是出在防火墙上。需要在服务器防火墙打开443端口,之后便能够正常访问https。

说来说去都怪自己太菜,没本事快速定位问题出在哪里,被坑也没办法。

你可能感兴趣的:(Java后台开发)