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,和用于创建更 ...
随机推荐
- 实战_2:eclipseRCP项目结构
RCP项目目录结构如下: src: java源码目录 bin:class文件目录 JRE System Library: 系统类库依赖,主要是JDK,JRE相关的 Plugin-in Dependen ...
- AOP 总结
AOP即Aspect oriented Programing, 面向切面编程. 相关术语: 通知(Advice): Advice defineds when to execute what actio ...
- QTP基本循环异常遍历(代码方式实现)
0 环境 系统环境:win7 1 前言 在正常循环的基础下 添加异常处理遍历 一些基本操作 请看正常循环 https://www.cnblogs.com/my-ordinary/p/11739180. ...
- SpringBoot开发二十-Redis入门以及Spring整合Redis
安装 Redis,熟悉 Redis 的命令以及整合Redis,在Spring 中使用Redis. 代码实现 Redis 内置了 16 个库,索引是 0-15 ,默认选择第 0 个 Redis 的常用命 ...
- [LC] 298. Binary Tree Longest Consecutive Sequence
Given a binary tree, find the length of the longest consecutive sequence path. The path refers to an ...
- PostgreSQL 安装之 CentOS 7 x64 RPM 安装
PostgresQL 安装环境 一.CentOS 7 安装 1. 环境说明 CentOS7 PosgreSQL 11.2 2. 在线安装 到目前为止(2019-08-10),CentOS7 默认携带了 ...
- F. Moving On
http://codeforces.com/gym/102222/problem/F fory #include<bits/stdc++.h> using namespace std; t ...
- 五、RabbitMQ Java Client基本使用详解
Java Client的5.x版本系列需要JDK 8,用于编译和运行.在Android上,仅支持Android 7.0或更高版本.4.x版本系列支持7.0之前的JDK 6和Android版本. 加入R ...
- Python面向对象三大特征
继承 面向对象中的继承就是继承的类直接拥有被继承类的属性而不需要在自己的类体中重新再写一遍,其中被继承的类叫做父类.基类,继承的类叫做派生类.子类.在python3中如果不指定继承哪个类,默认就会继承 ...
- Java中的基本运算符
一.算术运算符运算符:对常量或者变量进行操作的符号表达式:用运算符把常量或者变量连接起来符合java语法的式子就可以称为表达式.注意:不同运算符连接的表达式体现的是不同类型的表达式. + 加法运算,字 ...