我们的图像服务器允许我们传递触发某些图像处理操作的url参数。例如,网址https://www.example.com/i/example/10570250?layer0=[w=600&h=1000&bg=rgba(228,228,228,125)&cm=multi]
会缩放图片并应用混合模式。
问题是,只要将该字符串反馈到URL对象中,例如使用URL(string: "https://www.example.com/i/example/10570250?layer0=[w=600&h=1000&bg=rgba(228,228,228,125)&cm=multi]")
,括号就会被转义,图像服务器会停止应用操作。
网址变为:https://www.example.com/i/example/10570250?layer0=%5Bw=600&h=1000&bg=rgba(228,228,228,125)&cm=multi%5D
我可以阻止网址转义括号吗?或者是否有其他方法可以在将网址提供给URL(string:)
之前将其转移到图像服务器可能接受的网址之前?
答案 0 :(得分:2)
您不允许在您的网址中加入[ ]
。请考虑更改您的API调用,以使其适合您。
由Internet协议字面地址标识的主机,版本6
[RFC3513]或更高版本,通过附上IP文字来区分 在方括号内(“[”和“]”)。这是唯一的地方 URI语法中允许使用方括号字符。在
对未来的预期,尚未定义的IP文字地址格式,
实现可以使用可选的版本标志来指示这样的 明确地格式化而不是依赖于启发式确定。