koa进阶史(二)
之前想着放弃CAS的验证吧,但是又去请教了一个大牛,了解到sf公司的CAS验证校验的参数不是sessionId而是另外两个,后登陆sit环境偷了两个参数后,后台接口成功返回200。然后node层也就能顺利返回到前端了,看下代码:
let cookie_val = 'ESG_SFIM_SMS_SZ22_APP=ESG_SFIM_SMS_SZ22_JT_112_6;_TOKEN_KEY_=eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiIwMTM3NTA1NCIsImV4cCI6MTUzNjExNzU3Nn0.godQTiuNTM89fMbfF4icAn9Wc_iPwF0yJnSnEJcwBDc'; request.post({
host:'http://sfim-sms-bg.sit.sf-express.com',
url:url,
method: "POST",
json: true,
body: JSON.stringify(param),
headers: {
'Cookie': cookie_val
}
},function(error,response,body){ //重定向
if(!error && response.statusCode == 302){
resolve([response.statusCode,response.headers]);
}
if (!error && response.statusCode == 200) {
resolve([response.statusCode,body]);
}
})
就是上面那两个参数,之前用request的API:request.cookie()进行设置cookie,妥妥的打脸,只能加在request header里面。用wireshark进行网卡拦截,查看TCP流,成功看到request Header。
题外话:用Charles和wireshark进行http请求拦截区别?
实际项目操作经验:Charles只能拦截浏览器(客户端)发送的http/https请求,以及后台接口返回给的response。但是像我这种项目后台服务localhost在本机,但是又通过网卡请求了一个第三方服务,服务器之间的请求就抓不到了。但是wireshark是只要经过本机网卡的请求都会拦截,所以当我本机服务器localhost再去请求第三方服务器时候的请求也能够抓取到。
一直以来我以为我从Node去向第三方服务器请求时候cookie是随浏览器端请求的cookie带过去的,实际上不是,需要重新cookie赋值然后去请求,至此CAS验证才通过,不过只是临时的偷的cookie,而且公司貌似也不支持Node服务器,这些我只能在本地小打小闹。
【与恶龙缠斗过久,自身亦成为恶龙。凝视深渊过久,深渊将回以凝视。】
南无阿弥陀佛
koa进阶史(二)的更多相关文章
- koa进阶史(一)
1,设置静态文件目录,将__dirname 写成_dirname,乍看没什么毛病,但是一运行之后发现,_dirname is not defined,下次注意哈 app.use(express.sta ...
- Android高手进阶教程(二十八)之---Android ViewPager控件的使用(基于ViewPager的横向相册)!!!
分类: Android高手进阶 Android基础教程 2012-09-14 18:10 29759人阅读 评论(35) 收藏 举报 android相册layoutobjectclassloade ...
- Wireshark入门与进阶系列(二)
摘自http://blog.csdn.net/howeverpf/article/details/40743705 Wireshark入门与进阶系列(二) “君子生非异也,善假于物也”---荀子 本文 ...
- SpringBoot进阶教程(二十九)整合Redis 发布订阅
SUBSCRIBE, UNSUBSCRIBE 和 PUBLISH 实现了 发布/订阅消息范例,发送者 (publishers) 不用编程就可以向特定的接受者发送消息 (subscribers). Ra ...
- Bing Maps进阶系列二:使用GeocodeService进行地理位置检索
Bing Maps进阶系列二:使用GeocodeService进行地理位置检索 在<Bing Maps进阶系列一:初识Bing Maps地图服务>里已经对GeocodeService的功能 ...
- WPF 4 DataGrid 控件(进阶篇二)
原文:WPF 4 DataGrid 控件(进阶篇二) 上一篇<WPF 4 DataGrid 控件(进阶篇一)>中我们通过DataGridTemplateColumn 类自定义编辑 ...
- Spring Boot进阶系列二
上一篇文章,主要分析了怎么建立一个Restful web service,系列二主要创建一个H5静态页面使用ajax请求数据,功能主要有添加一本书,请求所有书并且按照Id降序排列,以及查看,删除一本书 ...
- Python进阶(十二)----re模块
Python进阶(十二)----re模块 一丶re模块 re模块是python将正则表达式封装之后的一个模块.正则表达式模式被编译成一系列的字节码,然后由用C编写的匹配引擎执行. #正则表达式: ...
- React Native 学习笔记--进阶(二)--动画
React Native 进阶(二)–动画 动画 流畅.有意义的动画对于移动应用用户体验来说是非常必要的.我们可以联合使用两个互补的系统:用于全局的布局动画LayoutAnimation,和用于创建更 ...
随机推荐
- Windows下 webstorm安装tomcat配置svn并使用
先附上所需要的软件的下载地址:https://pan.baidu.com/s/1c2ripd2 1.下载并安装jdk以及配置jdk的环境变量 1)下载jdk,选择安装目录安装,我选择的是默认路径,安装 ...
- AttributeError: 'bytes' object has no attribute 'hex'
python3.5之前bytes数据没有hex()属性 需要使用 ''.join(map(lambda x:('' if len(hex(x))>=4 else '/x0')+hex(x)[2: ...
- iOS简单音乐实现、React-Native完整项目、仿闲鱼京东列表分页、语音识别、网络加载过度动画等源码
iOS精选源码 iOS快速入手语音识别.听写.评测.播报 网络加载数据的过渡动画(仿简书网页) iOS 封装跑马灯和轮播效果 crash防护组件,适用常见常用的数组,字典等crash保护 iOS:高仿 ...
- spring web项目中整合netty, akka
spring web项目中整合netty, akka 本身的web项目仍然使用tomcat/jetty8080端口, 在org.springframework.beans.factory.Initia ...
- [LC] 23. Merge k Sorted Lists
Merge k sorted linked lists and return it as one sorted list. Analyze and describe its complexity. E ...
- emacs 入门第一课:Emacs里的基本概念
Table of Contents 无聊的开场白 buffer(缓冲区) window(窗口)与frame Emacs的mode Emacs Lisp 函数function.命令command.键绑定 ...
- 浅尝HTML5之canvas
转自:http://segmentfault.com/a/1190000000661407/ HTML5新标签 HTML5新引入header,footer,article,section,aside和 ...
- jenkins使用(4)-发邮件
邮箱配置 邮件触发器:达到条件就会发邮件 对单独的服务设置邮件 系统设置如下 回到单个任务的设置 配置中的主题设置如下: 回到单个任务的设置 配置中如下: 选择工作空间中的一个文件 发送多个附件: 邮 ...
- MOOC(4)- setup和teardown函数
import unittest class TestRequest(unittest.TestCase): @classmethod def setUpClass(cls): print(" ...
- Linux 下centos7启动 Tomcat 抛出Can't connect to X11 window server 问题的解决方法
1 问题 今天启动 Tomcat 后,登录页验证码不见了.在 localhost.xxx.log 发现以下错误: org.apache.catalina.core.StandardWrapperVal ...