前言
- 白雪公主当初就是吃了有毒的苹果晕倒了,在学习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字符串替换方法