
-[NSURL parameterString]来解析我传递的URL的参数.它说URL必须符合 RFC 1808但现在想知道我们的吗?!?我们使用类似的东西: ?http://服务器/路径/查询property1 =值1&安培; property2 =值2
但RFC 1808从未提及&符号(&)作为有效的参数分隔符(至少我读它的方式).它表示分号(;).也许是因为它是在1995年起草的?有&取代了?如果有这样的话,任何人都要验证NSURL的parameterString是否也会用&作为分隔符?
在挖掘大洞之前,“正确”的方式是什么?
解决方法 根据RFC 1808(2.1.URL语法组件),正确的语法如下:<scheme>://<net_loc>/<path>;<params>?<query>#<fragment>
它说查询信息的格式符合RFC 1738的3.3节,它告诉我们:
“在路径和searchpart组件中,”/“,”;“,”?“是保留的.”
对我来说,上面说你的URL路径(到您的CGI)是:
http://server/path/query
并且查询是:
property1=value1&property2=value2
其中不包含任何保留字符.所以你没事.实际上使用“&”作为查询字符串中的分隔符,这里派生自CGI specification而不是URL RFC:
“表单数据是由&字符分隔的名称=值对的流.”
总结以上是内存溢出为你收集整理的cocoa – NSURL的parameterString混淆使用’;’ vs’&’全部内容,希望文章能够帮你解决cocoa – NSURL的parameterString混淆使用’;’ vs’&’所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)