关于网络连接问题前期一直失败的原因

  最开始一直失败是因为在login发送post指令时没有加入任何有关访问权限的代码,在研究过学长的OC代码之后,
发现他在init的时候获取了服务器cookie,并从cookie中提取出来csrftoken,并在login的时候加到访问的头部,作为
权限的标记。我经过尝试之后终于获取到了cookie,并将csrftoken加入httpURLConnection的头部,结果还是返回
403,我们在这里出现了好长时间的卡顿。
  之后经过学姐的帮忙,终于明白了csrftoken并不是唯一的权限标识,而是需要将init得到的全部cookie加入到login
访问服务器的httpClient的头部,才能完成访问。二者的区别通俗点来讲相当于两个人访问一个服务器,两个人分别用A
和B表示,A负责init,B负责login。第一种方法好比A先初始化得到了访问权限的cookie,之后将得到的token交给B,
然后B拿着从A获得的token去访问,故服务器识别为权限不够。而第二种方法则相当于,A先初始化得到了访问权限的
cookie,然后将所得到的全部cookie包括token全部交给B,此时B相当于是A的复制,也就是相当于A再次去访问服务
器,故此时服务认为B拥有访问权限。(PS:本来以为httpUrlConnection与httpClient发送数据的格式不同,故开始
是用httpUrlConnection发送post指令,后来发现二者执行效果是等价的,故之后换用httpClient实现post请求)。 
posted @ 2015-01-10 17:50  buaa_software  阅读(193)  评论(0编辑  收藏  举报