代码之家  ›  专栏  ›  技术社区  ›  James Harpe

iOS:防止Restkit使用URL编码逗号

  •  0
  • James Harpe  · 技术社区  · 12 年前

    我正在使用RestKit访问我无法控制的web服务。在一个操作中,“ageGroup”参数的格式如下所示:

    ag=Babies,+Toddlers,+Preschoolers,+Kids ages 6-11
    

    使用上述方法从浏览器调用web服务可以正常工作。我还注意到,我的浏览器会自动对空格进行编码,但不会对逗号或加号进行编码。

    RestKit将URL的这部分编码为:

    ag=Babies%2C%2BToddlers%2C%2BPreschoolers%2C%2BKids%20ages%206-11
    

    尝试在URL中使用这个(即使在浏览器中)也不起作用。我把问题缩小到逗号;无论出于何种原因,web服务都没有正确解码逗号转义序列。同样,我无法控制web服务,因此对此我无能为力。

    如何防止RestKit对这些逗号进行编码?有没有其他我没有想到的解决方法?

    1 回复  |  直到 12 年前
        1
  •  2
  •   Aaron Brager    12 年前

    RestKit使用AFNetworking。我相信你所要做的就是修改 AFPercentEscapedQueryStringKeyFromStringWithEncoding 作用

    从中删除逗号 kAFCharactersToBeEscapedInQueryString .