首页新闻找找看学习计划

做IOS的大神过来一看

1
悬赏园豆:200 [已解决问题] 解决于 2015-08-15 00:38

首先先理解我下面的话

http请求method和data是分开的没有直接关系

data分为headers,urlquery,body

method有GET ,POST ,HEAD ,TRACE ,PUT ,DELETE ,OPTIONS ,CONNECT ,还可以自定义

任何method都可以提交headers,urlquery 或 body

要是不明白上面的话,问题大概就回答不了了.......

 

我的问题是 在ios中 怎么才能使用get请求时包含body参数!!!

问题补充:

所以说我在标题里写了大神过来,结果一堆过来解决不了问题只会吐槽,关键还是瞎吐槽的

感谢几位认真回答问题的 Launcher  吴瑞祥  风晕 

 Launcher 的回答最简单粗暴,也是确实有效的,但是这需要很高的水平,暂时ios那帮人办不到

吴瑞祥 我不太明白ios是否所有功能都是基于第三方类库的,能不能自己实现或者使用系统自带的功能实现? 

 风晕 你这个类库我会让ios的人去试试看

 

就此结贴了 ,,为了ios, 把服务器关于HttpMethod参数处理的部分重写了下

最后再次提醒下几位不明觉厉的观众,知之为知之不知为不知,不知就好好学,不要出来丢人

冰麟轻武的主页 冰麟轻武 | 初学一级 | 园豆:22
提问于:2015-08-07 13:41
< >
分享
最佳答案
1

没做过 IOS,不过我知道使用 socket 可以实现。不知道 IOS 的 http 组件是否支持自定义的 HTTP Method ?如果支持的话,这也是一条可以考虑的路。

收获园豆:80
Launcher | 高人七级 |园豆:45030 | 2015-08-07 13:57
其他回答(7)
0

理论上GET和POST没有本质区别,所以建议用POST做。

另,如果一定要用GET,建议把要传输的数据放在同一个对象里,例如你要传输的内容是:

则可以先构建要传输的对象(举例用JSON格式,其他格式也无所谓):

{"paramA":"valueA","paramB":"valueB","paramC":"valueC"}

然后对这个对象加密,比如得到密文:

uyUYbJhkIU*^GmklJL(Tu6RJHGHYRhgV$6U%&^%M<HJFHGFjJHGjgj

LowKeyC | 园豆:87 (初学一级) | 2015-08-07 13:55

get和post没有区别。但是body和url是有区别的。比如body可以传二进制。当然你说把二进制数据转base64放在url也是可以的。但是有可能会太大,而且多了转来转去的过程

支持(0) 反对(0) 冰麟轻武 | 园豆:22 (初学一级) | 2015-08-10 21:41
1

不管什么http方法都是可以在body里加数据的.具体你要看你用的框架是怎么实现的.

也就是说你问提的你用的那个httpclient库怎么在get方法中包含正文

收获园豆:80
吴瑞祥 | 园豆:28731 (高人七级) | 2015-08-07 14:02

系统自带的没有吗

支持(0) 反对(0) 冰麟轻武 | 园豆:22 (初学一级) | 2015-08-10 21:30

我用系统自带的方式method改为get,写入body参数结果上行到服务器没了

支持(0) 反对(0) 冰麟轻武 | 园豆:22 (初学一级) | 2015-08-10 21:43

@冰麟轻武: 都说了。你要问的是  你用的那个httpclient库怎么在get方法中包含正文

这种问题提问你至少要包含2个要点:

1.用的具体是哪个库

2.你要发送的具体请求报文结构

3.态度诚恳的问:有谁用过这个****库,怎么发送****的请求

支持(0) 反对(0) 吴瑞祥 | 园豆:28731 (高人七级) | 2015-08-11 09:12

@吴瑞祥: 现在的这些人,让他们“态度诚恳的问”就是在开玩笑。。。

支持(0) 反对(0) 顾晓北 | 园豆:9520 (大侠五级) | 2015-08-11 10:13

@吴瑞祥: 系统自带的没有吗? 一定要有库才可以操作的吗? 不好意思我本身是做.net的不了解,现在只是为了解决问题,无所谓哪个库,只要能解决问题就可以

支持(0) 反对(0) 冰麟轻武 | 园豆:22 (初学一级) | 2015-08-15 00:07

@顾晓北: 现在的这些人,让他们“态度诚恳的回答问题”也是在开玩笑。。。毕竟问问题还需要积分,回答随便这么吐槽嘲讽鄙视,话说回来,现在真的有很多人根本不明白http请求是怎么一回事,然后就瞎比比, 当然了 我也不明白ios是怎么回事,我从一开始的问题就是怎么在get请求中发送body参数......和库无关毕竟我不懂ios...只要能解决这个问题,什么库都行......另外要怎么才能显得态度诚恳.....如果我直接说问题,保证一群人来嘲笑我,"傻逼,get请求只能发送url参数,不能发送body参数"之类的,你要是经历过几次 你也诚恳不起来....另外我已经出了所有的分了

支持(0) 反对(0) 冰麟轻武 | 园豆:22 (初学一级) | 2015-08-15 00:12

@冰麟轻武: data分为headers,urlquery,body,我对这句话存疑问而已,这样的理解我第一次看到,我理解的http,data=body,所以你现在理解我为什么那么回复你了?

支持(0) 反对(0) 顾晓北 | 园豆:9520 (大侠五级) | 2015-08-15 09:12

@冰麟轻武: 至于诚恳的问题,你看“吴瑞”给你回复的第三点吧。。。

支持(0) 反对(0) 顾晓北 | 园豆:9520 (大侠五级) | 2015-08-15 09:18

@顾晓北: 我只能说你的理解是错的,data表示数据.. 数据可以从header body urlquery中传递 header中不仅可以包含cookies,还可以包含其他必要信息,有很多比如阿里云,某些银行,参数加密的信息都是写在header中的  至于urlquery和body 本质的区别在于body可以传递二进制文件,urlquery不行   另外我再说一个大家都误解的问题http标准中没有对urlquery做长度限制,但是很多浏览器和服务器解析的时候有长度的限制,所以很多情况下大家会说body比urlquery传递的数据更多, 你可以再好好理解下http协议

支持(0) 反对(0) 冰麟轻武 | 园豆:22 (初学一级) | 2015-08-15 14:37

@冰麟轻武: 一般对于这种问题,我会说“随你怎么想吧”,其实仅仅是看来你的“data分为headers,urlquery,body”这句话,我也不说什么了,你无非是把这三种东西统一叫做data而已,事实上你这么理解也不能完全说错,随便吧,不想做这种争辩。。。

支持(0) 反对(0) 顾晓北 | 园豆:9520 (大侠五级) | 2015-08-15 14:57

@冰麟轻武: 系统自带的,也是个库..总会有名字的.问怎么做的问题,至少要描述请求你要做什么.

我这边对你的问题的理解是:在get请求中增加正文

支持(0) 反对(0) 吴瑞祥 | 园豆:28731 (高人七级) | 2015-08-15 20:07
0

IOS大神?楼主确定你理解的HTTP知识是正确的???

顾晓北 | 园豆:9520 (大侠五级) | 2015-08-07 14:28

说实话,对于你们连http协议本质都搞不清楚的,还来回答。真不想搭理你们。

支持(0) 反对(0) 冰麟轻武 | 园豆:22 (初学一级) | 2015-08-10 21:32
0

 哈哈,这哥们做IOS的,工资估计能让楼上几位羞愧死,居然还敢嘲笑人家,有本事你转IOS啊。

我就是过来看看热闹的,呵呵。

爱编程的大叔 | 园豆:29818 (高人七级) | 2015-08-07 15:07

看清楚,他自己说了“我是做.net的”。。。

 

如果他自己真的就像他自己说的“对http协议很清楚”,根本不会这么问问题。。。

现在的人就喜欢这样:问问题吧,人家好心来回答你,还遭人白眼,我就纳闷,这种人的脑子是怎么想的?

支持(0) 反对(0) 顾晓北 | 园豆:9520 (大侠五级) | 2015-08-11 10:09

@顾晓北: 通常都是这样的啊,三流大学毕业的或者北大青鸟培训出来的,基础知识不扎实,

问问题又拽得好像别人欠他钱似的,不知道被哪个体育老师给带歪到沟里去的知识体系,

支持(0) 反对(0) 爱编程的大叔 | 园豆:29818 (高人七级) | 2015-08-11 10:15

@爱编程的大叔: 那我就不清楚你所谓的“这哥们做IOS的,工资估计能让楼上几位羞愧死,居然还敢嘲笑人家,有本事你转IOS啊”是什么意思了。。。

支持(0) 反对(0) 顾晓北 | 园豆:9520 (大侠五级) | 2015-08-11 10:17

@顾晓北: 我就是看他问的问题实在是不知道如何作答了,一口血硬忍住了没吐出来。

随便写两句的,你别当真啊,我开开玩笑而已。

楼上的 吴瑞祥 收入不低的。

支持(0) 反对(0) 爱编程的大叔 | 园豆:29818 (高人七级) | 2015-08-11 10:22

@爱编程的大叔: 好吧。。。

支持(0) 反对(0) 顾晓北 | 园豆:9520 (大侠五级) | 2015-08-11 10:38

@顾晓北: 年收入35w~40w左右, 工资不代表什么.你们要是不明白http请求method和data就不要在无谓的回答的, 安卓和.net均可以实现get请求的同时发送body参数,只有ios不行, 当然还有js也不行,js的XMLHttpRequest不支持get请求中发送body参数,但ios怎么说也应该比js强大吧.........不过这个问题现在已经无所谓了,我直接在服务器重写了.net mvc的请求解析,已经完全在服务器端忽略Method了......很多人都说做.net的人太水只会拖控件. 不知道ios是不是也差不多,只会用类库?  至少现在.net如果系统的类库满足不了需求,我可以还反射,或者重写,或者干脆自己实现一个....ios如果类库不支持就傻眼了吗

支持(0) 反对(0) 冰麟轻武 | 园豆:22 (初学一级) | 2015-08-15 00:19
1

我用的是 AFNetworking 封装好的 http 请求 里面直接传入字典 就是 body 参数了 你可以去看看

 
收获园豆:40
FYeed | 园豆:9 (初学一级) | 2015-08-09 20:59
0

似乎程序员都有脾气,哈哈

羊羊羊~咩~ | 园豆:202 (菜鸟二级) | 2016-04-05 16:28
0

本身的NSURLConnect就可以解决了.我是怕大框架烦人,基本就用自己的.这个是个示例:例子

jprothwell | 园豆:214 (菜鸟二级) | 2016-11-07 17:29
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册