Run Snow-white ! Run ! (4) 当你的URL带空格时

前言

  • 白雪公主当初就是吃了有毒的苹果晕倒了,在学习iOS开发的过程中,我也时不时感受到苹果的“毒性”,所以让我们来写一系列文章吐槽吧!
  • 本系列包含众多胡说八道,作者更是一个学习编程的小学生,经常写了文章之后发现错误连篇,结果还懒得改,实在罪大恶极,大家见到他后一定请他吃饭,让他羞愧而死

吐槽

  • 在写图像识别是,有个功能是将我们识别出来的食物名字通过get方法从后台调取到详细的食物信息
  • 对应的一个URL就是类似"xxxxxxname=apple"这样一个URL,改变后面写的水果名就可以实现查询
  • 但是在测试时,遇到哈密瓜(Hami melon)时发现请求失败了
  • 可是我把对应链接输入浏览器的时候却没有任何问题
  • 那天很热,心情很差,是真的很不爽

参考文章

解决一哈

原因

  • 在你将带空格的URL输入浏览器输入框的时候会发现空格自动变成%20了
  • 而在我们代码里的URL还是空格,所以失败了
  • 这是URL编码的表示方式,对于每个字节,可以用%后面跟ASCII码的两位十六进制值表示。根据URL的编码:空格的是20。所以URL中的空格为%20

解决方法

for (int i = 0; i < foodNameStr.length; i++) {
        char k = [foodNameStr characterAtIndex:i];
        if (k == ' ') {
            NSLog(@"FIND YOU BITCH %d", i);
            foodNameStr = [foodNameStr stringByReplacingOccurrencesOfString:@" " withString:@"%20"];
        }
    }
  • 这是我写的解决方法,用一个replace字符串替换方法
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值