关于火车采集器Socket模块的疑问
最近在使用火车采集器采集网页基本上来说,能熟练掌握正则表达式的程序员使用这个的难度几乎没有.
但我发现几个比较频繁出现的bug.
一个就是crash,原因不详.后台挂机采集,不知道触发什么特定条件时,程序会报错crash.
第二个就是刷新不良.下载图片或者文件的ListView. 这种现象让我觉得这个程序可能紧接着就会crash...以前做win32的时候,我记得子类化这个控件,让它增量刷新一部分就可以了.而不需要全部重绘.
其他都一切正常.
只是才发现一个疑问..关于下载部分的.
之前我发现下载一些网站的时候,会出现错误 " 服务器提交了协议冲突. Section=ResponseHeader Detail=CR 后面必须是 LF".按照官方的说法
http请求设置 必须选中 AllowUnsafeheaderParsing20 似乎就能解决.
虽然我认为这个是因为火车头没有遵守RFC 822递交造成的..WINDOWS LINUX傻傻分不清楚..
不过试了下的确解决了- -.
但其选项又会继续导致另外一个错误
"火车采集器 发生错误终止 标头中日期字符串的值无效"
总的来说还是socket header有问题.
希望官方能尽早解决- -其实可以wireshark的...我就不做这个了..
最后.我建议官方做个Community版本进行开源..可以把好的branch代码提交到商业版本.现在这个程序...太不稳定了
欢迎大家与我交流- -:99164992 对于目标网站需要发送的header,目前还没法做到像浏览器一样的自动.需要手工配置. 通过判断返回值,重新制作下一次的请求头不就可以了么
你们现在的重试仅仅侧重于当且仅当网络状况异常时,socket连接失败造成的下载失败
而这个文件肯定存在
通过多次的重试.在socket不阻塞时,正常下载
这里面就有点不够智能了
首先404的,我就觉得没必要和其他异常尝试同样的状态
再次就是这个.既然第一次有问题,response是能得到error原因的.那么第二次还继续使用相同的socket header.是非常愚蠢的
页:
[1]