问题背景:

有一个项目用到3d模型,原来访问地址用的是域名,访问老是报跨域问题,于是换成了内网地址

这么一换问题来了,控制台直接报错

 

FormatException: Invalid URI
at UnityEngineInternal.WebRequestUtils.MakeInitialUrl (System.String targetUrl, System.String localUrl) [0x00000] in <00000000000000000000000000000000>:0

排查了半天才发现问题,特地记录下

 

解决方法:

访问地址是存在一个叫IP.txt 的文件里的,我是通过vi直接修改地址保存,保存完后如下

地址没毛病吧,但是怎么访问都是报错

于是我又再地址后面加了个/

这时可以看到报错变了

 变成了:GET http://192.168.100.93:8085/%0A/3d/riskListByAreaId?areaId=7017 404 (Not Found)

仔细一看,地址中间凭空多了%0A

 线索找到了,于是开始搜索 《连接里多了%0A》

https://blog.51cto.com/knifeedge/5667770

看到这篇,我联想到这是.txt文件,会不会是 windows和linux的字符编码差异导致的问题?

于是我在本地windows机器新建txt文件,写入http://192.168.100.93:8085地址,再上传

顿时,访问正常了!

这时再看文件内容,好家伙,果然不一样有木有。。

 

所以以后再遇到类似的问题,思路就有了,很大概率问题集中在文件字符编码层面

 

posted on 2024-05-20 10:22  06  阅读(23)  评论(0编辑  收藏  举报