如何向一个页面里面添加cookie,使得登录页面可以自动获取到cookie并添加进请求头中
首先要在application页面添加登录token进cookie中。
然后刷新页面,我们会发现请求头中并没有自动携带我们刚才添加的cookie,我们的登录也没成功
这是为什么呢??
最大的原因可能是因为跨域了,我们设置的cookie是在本地会话设置的,但是呢,需要访问的登录请求是从远程地址发送过来的,这导致即便我们将cookie添加了,但是呢,我们的登录请求仍然无法获取到。如何解决呢?
我先提出解决方法: !!添加withCredentials进请求头,作为他的第二个参数!!
什么是withCredentials是什么呢
withCredentials就是XMLHttpRequest.withCredentials 。
-
跨域请求是否提供凭据信息(cookie、HTTP认证及客户端SSL证明等)
也可以简单的理解为,当前请求为跨域类型时是否在请求中协带cookie。
即便此时加上了也会不成功,为什么呢?因为两个地址不相同,会导致跨域的问题
此时怎么解决呢?
我们需要用到一个代理软件:这里笔者推荐两个软件:
-
Charles 优点:可视化程度很高,用过的测试都说好! 缺点:点来点去太麻烦了
-
Whistle 优点:可配置性强,可以配置命令来让代理生效
本文中呢,我们将介绍一下Charles 。
首先呢,我们需要使用Charles将手机的WIFI设置代理服务器。具体怎么使用笔者就不过多赘述了,可以自己去google一下。
完成之后呢:这个时候你的手机的任何网络请求都会走到你电脑上的代理端口上的代理服务器上走,此时这个代理软件就可以对你请求为所欲为辣
接着呢,我们在Charles中,在Map Romate中把我们需要截获重定向的网页给他设置一下。
成功之后,这时,你无论如何访问此地址,他都会定向到你想要访问的目标地址。
此时!!!!,你再去向你的目标页面添加一些操作,比如说alert(“你的网站被我截获啦!!!”),都可以实现,然后我们重新添加一下cookie,就可以在用户想要访问的页面,重定向到我们想要他访问的页面,并登录。