zl程序教程

您现在的位置是:首页 >  后端

当前栏目

Unity3d C# 网址url未转义问题(https%3A%2F%2F => https://)网址无法打开问题 URL is missing a protocol e.g. http://...

c#HTTPSHTTP 无法 is 打开 url ...
2023-09-27 14:27:29 时间

前言

问题是这样的,后端给穿的网址在浏览器插件或者pc浏览器上都打不开,而且其格式是一大串%的形式,这里以百度为例:

https%3A%2F%2Fwww.baidu.com%2F

在Unity内嵌网页的插件中打开是这样的提示:
在这里插入图片描述

当然页面也无法打开。

在浏览器中,它无法识别为网址,Chrome中进行了Google搜索了:
在这里插入图片描述

解决

这个问题是因为后台在传送这个字符串之前给你转义了一下。只需要稍微进行一下操作即可正常:
在这里插入图片描述

解决方式有以下两个。

后台帮改

这个方式就是让后台的帮你修改,直到返回的网址可以正常打开为止。当然这种方式可能需要你进行一定的沟通(撕逼也可能)。

自行转义

如果后台的后台很硬,就是不给你改,那你活该自己修改了。
使用Uri.UnescapeDataString函数,这里直接把代码贴出来:

System.Uri.UnescapeDataString("https%3A%2F%2Fwww.baidu.com%2F");

转换后的地址为:
在这里插入图片描述