爬虫技术要点(一)Post相关问题
来源:互联网 发布:php 按小时区间时间轴 编辑:程序博客网 时间:2024/06/06 11:48
本人有空有玩爬虫,虽然技术不行,没有拿得出手的作品,但还是喜欢玩,这几天就遇到一个非常奇怪的问题,无法理解的现象.
在Eclipse中运行程序,流程一帆风顺地走下去,但在命令行中(CMD)运行,使用 java class类的方式运行,且流程在form表单提交时,响应始终会超时,而且在两个网站中使用都这样,我就纳闷了,怎么每次我一输入验证码,怎么都登陆不进去呢?不会是服务器的问题.现在终于想解决了.
打开WireShark,看看这个提交用的Post协议到底发出去没有,答案当然是没有啦,至少在Http协议中找不到,那就看看Tcp协议吧,呃,有啊,怎么WireShark没有把它当作Http协议呢?肯定是协议出问题了,笑话,Eclipse和cmd运行用的都是同样的代码,怎么可能是协议出问题.
仔细比较这条Post协议的Http(Eclipse运行时获取)版和Tcp(cmd运行获取)版的数据,发现了这样的差别:
http版的结尾是\r\n\r\n,tcp版的结尾是要post的数据结尾,绕过了\r\n\r\n,本来该在\r\n\r\n这里截断的,为什么没有?
再往后来,post数据也不一样啊,同样的表单,为什么post数据不一样?
嘿嘿,因为中文编码的原因:
表单里有个input提交按钮项,value值是中文,Elipse运行我用的UTF-8编码,CMD中默认是GBK编码,所以cmd运行时这个数据发送的是乱码,可能这是这样把http协议打乱了.
其实这样表单项是用不上的,直接去掉后,欧啦!哈哈,不到10分钟.
0 0
- 爬虫技术要点(一)Post相关问题
- webbrowser 相关技术要点
- AutoScaling技术相关要点
- 爬虫技术入门(一)
- 机器学习要点(一):梯度相关
- SAAS相关技术要点整理
- python机器人相关技术要点(看源码)
- Python爬虫技术(一)--模拟登陆
- 爬虫的相关问题
- Python 爬虫相关问题
- 爬虫爬虫爬虫(一)
- iPhone WebApp 开发技术要点总结(一)
- inno setup 打包相关技术要点
- 爬虫学习(一):编码问题
- 网络爬虫遇到问题(一)
- 分布式爬虫实战(一)互联网协议相关基础知识
- Python爬虫学习纪要(一):BeautifulSoup相关知识点
- 10-爬虫攻防技术分析(分布式一)
- HBase在线数据备份
- UIAlertView,UIActionSheet的使用
- Android 单选框的应用(新手篇)
- mysql用户管理
- Android 通知栏Notification的整合 全面学习 (一个DEMO让你完全了解它)
- 爬虫技术要点(一)Post相关问题
- AndroidStudio For Mac 快捷键大全
- 抢购的实现过程
- 在redhat下使用x11vnc进行桌面共享
- [LeetCode] Add Two Sum
- macbook上网没问题但是无法连接到app store的解决办法
- 学习html(6)
- Python中list去重
- iOS面试题1-25