防止在URL中转义括号

时间:2017-09-12 16:48:32

标签: ios objective-c swift url

我们的图像服务器允许我们传递触发某些图像处理操作的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:)之前将其转移到图像服务器可能接受的网址之前?

1 个答案:

答案 0 :(得分:2)

您不允许在您的网址中加入[ ]。请考虑更改您的API调用,以使其适合您。

  

由Internet协议字面地址标识的主机,版本6
  [RFC3513]或更高版本,通过附上IP文字来区分   在方括号内(“[”和“]”)。这是唯一的地方   URI语法中允许使用方括号字符。在
  对未来的预期,尚未定义的IP文字地址格式,
  实现可以使用可选的版本标志来指示这样的   明确地格式化而不是依赖于启发式确定。

Reference