中心门户数据爬虫-NTLM安全认证

直接通过get请求获取网站首页,发现出现授权错误

模拟浏览器使用cookie获取首页,还是授权错误

禁用浏览器cookie、js、图片等,发现浏览器能正常获取首页,因此排除cookie

网友说可能是reference的问题,可我在头部没发现reference属性

使用wireshark查看HTTP流,看看HTTP流中有没有相关的安全认证信息

通过wireshark发现每次请求主页都发起了三个HTTP请求,前两个失败,第三个成功

看到有个NTLM安全认证相关的信息,baidu了一下,感觉没多大用

给网友截图说明情况,网友说NTLM他不懂
再次在Stackverflow网上搜nodejs NTLM安全认证,发现了一个帖子,上面有NTLM协议的一个连接,进去后发现NTLM协议中有个三次握手,解决了wireshark三个HTTP请求的原因,所以将问题定位到NTLM认证

使用httpmtlm.js模块模拟浏览器发起带NTLM验证的GET请求(参数按照要求填写,具体的取值通过wireshark看),发现成功获取了网站主页

使用POST请求爬取通讯录时发现出现超时等待,通过wireshark与浏览器比较分析发现我的爬虫没有出现NTLM的三次握手协议

本以为是POST请求的NTLM协议不一致导致的,但我在把POST的options用到GET上后发现GET也不能用了,通过和之前的GET的OPTIONS对比发现是新增加的headers导致的

将Option中的headers删除后POST请求也能正常使用

大功告成

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值