批量下载在漫画的通用解决方法,包括脚本生成内容
作者:V君 发布于:2017-10-25 13:43 Wednesday 分类:折腾手记
TLDR:
由于太过简单(也就百来行代码),写得还有点丑,就不传到SVN上了 (´∀((☆ミつ
流程大概如下:- CsQuery解析HTML
- jurassic解析Javascript
- Newtonsoft解析Json对象
- PLINQ多线程下载图片文件
进来听我扯扯
标签: 软件开发 javascript C# Chrome 爬虫 HTML Web技术
板载集成网卡问题导致Flash加载失败
作者:V君 发布于:2017-6-23 16:57 Friday 分类:挖坑经验
终更:
关闭中断调整之后用了几天, 问题又出现了, 无论高级选项怎么整都没用.
只好花点钱搞一张独立网卡, 装上之后禁用原来的集成网卡, 问题解决...
推定集成网卡有毛病 _(:з」∠)_
原标题:
莫名其妙:有线网卡驱动设置「中断调整」Interrupt Moderation导致Flash加载失败EXM???
原内容:
TL;DR: 去属性高级,将其关闭,Flash 加载失败的问题解决. 不知道为啥!
必须扯扯排查过程, 信息量太少了! (´∀((☆ミつ
一个WEB项目测试过程中发现 Flash 上传组件不工作, 右键显示为「影片未加载」.
然后发现只有这台机出现问题, 别的机器都好好的.
不仅上传组件, 所有的在线Flash都受影响.
试着直接在浏览器上输入 swf 的完整 url -- 失败
换IE/FF/360(测试的机器啥都有) -- 统统失败
试着在 Fiddler 中的 Composer 中发出请求, 得到的是超时代替的 504 错误.
最后 telnet 手动发起 HTTP 请求 -- 却能收到响应数据,尽管是一坨乱码,swf 是二进制的嘛!
排除了网络和 Sockets 组件的问题.
这时候只能怀疑是系统里面 Sockets 到浏览器之间出毛病了, 比如 wininet.dll 之类的.
这是没法轻易修复了, 就重装了系统.....
装完之后现象依旧存在, 三脸懵逼.
和重装之前没有变化的只剩下IP了.
由于我们为了方便访问, 设置了固定IP, 试着改一下IP,
居然成功访问了一次, 清除缓存之后又不行了.
只好发挥死马精神, 掏出一个 USB-WiFi 拇指头插上,禁用有线网卡 -- 故障现象消失了
反过用有线网卡来能复现故障现象 -- 难道是有线网卡的锅???
抱着疑虑去看看调整MAC地址这类做法能不能打醒, 就去到网卡属性高级了.
眼前一亮, 发现好多奇怪的束手束脚的设置, 比如节能啦,调整啦,减负啦 的.
一口气把能关的全部关掉, 然后居然 -- Flash 正常加载了... EXM???
清空缓存, 把配置打回去, 能复现, 这说明问题肯定在某些选项中.
见到「中断调整」这个选项比较不顺眼, 单独关掉之后 -- Flash 加载出来了!
又把它打开,清除缓存 -- 可复现!
于是就懵逼到这里. _(:з」∠)_ (´∀((☆ミつ
标签: 软件开发 软件故障诊断 HTTP Web技术 硬件故障
记一次COOKIE域造成ASP.NET会话丢失
作者:V君 发布于:2017-5-24 16:05 Wednesday 分类:填坑经验
TL;DR
从浏览器 COOKIES 开始检查, 注意每次请求时 asp.net_sessionid 是否有变化,
注意响应 COOKIES 是否有设置 Domain. 于是发现为了兼容子域名被设定了值.
加上调试条件编译跳过就解决了.
稍稍扯扯:
最初,发现 ajax 请求没有返回预期内容, 调试发现 Session 里面的东西变 null 了.
第一反应是Session配置问题或可能被 Abandon 过, 全文检索代码没发现被调用.
先排除被 Abandon 这个可能.
去 web.config 看看 Session 配置, 切换了 InProcess 和 StateService 模式都不奏效.
然后观察每次请求上下文,发现 SessionId 每次都会变,COOKIE asp.net_sessionid 也每次都变
最后只好把焦点放到浏览器了, 仔细观察 COOKIE 响应状况发现了原因.
JavaScript 字符串 半角转全角
作者:V君 发布于:2017-4-13 1:24 Thursday 分类:折腾手记
var arrProcessed = [];
var code;
for (var i = 0; i < t.length; i++) {
code = t.charCodeAt(i);
if (code > 32 && code < 127) code += 0xFEE0;
arrProcessed.push(code);
}
t = String.fromCharCode.apply(window, arrProcessed);
参考资料:爆栈,Unicode Map,爆栈,爆栈。
用来给竖排排版被打横的字符摆正,主要精髓是原生脚本。
扯扯:
比起被转载的满天飞的版本,还是自己重新码过,整洁度和性能都不在一个级别上。
真能忍受每次都调用 charCodeAt ,定义一个局部变量会死吗?
还有看到每次循环都作字符串拼接也犯了强迫症,丢进数组然后再调用原生功能一次转换。
标签: 软件开发 javascript Web技术
使用非公开辅助类HttpValueCollection轻松生成QueryString
作者:V君 发布于:2016-11-7 18:19 Monday 分类:挖坑经验
TL;DR
var kvp = HttpUtility.ParseQueryString("");
kvp["a"]="bc";
kvp["b"]="cd";
kvp["c"]="草";
var queryString=kvp.ToString(); //queryString结果为"a=bc&b=cd&c=%u8349"
注意:由于ToString会自动把内容做Url编码,某些服务接口需要计算数字签名可能会遇到问题,
这种情况还是只能自己拼字符串... 比如某德的接口 见下更新。
听我扯扯:
在做服务端调用远程Web接口时需要组装QueryString请求参数,
依稀记得在Web项目里用的QueryString是个NameValueCollection, 并能ToString还原
然而自己创建实例丢值进去却没得到理想的结果,
咕狗到爆栈得到答案:原来Web项目里的是M$重写过的内部类:HttpValueCollection
反编译发现确实如此, 然而要怎么用呢, 首先想到是反射再实例化,
这种做法略Hack,指不出哪天或哪个平台就来个空指针给你.
继续咕狗爆栈, 得出这么贱的用法, 塞他个空字符串让它吐出实例, 太棒了!
快来解决问题的帖子一起点赞吧!
更新:
可能由于历史包袱原因,%u编码似乎只能在IE使用,需要在AppSetting配置项里
加一条名称为“aspnet:DontUsePercentUUrlEncoding”值为“true”的配置项
blogger
Google Web Translator
热门日志
随机日志
最新日志
最新评论
- V君
@Quartz:(出现)... - Quartz
怎么不见人了呢... - V君
@Soar:DHCP 协议相... - V君
@Soar:当然是非... - Soar
@V君:谢谢 有空... - Soar
搞一个 1230v3+B85... - V君
@Soar:另外,也可... - V君
@Soar:iscsi服务端... - Soar
难怪这么卡,尤其... - Soar
clone了源码,提示...
分类
存档
- 2024年5月(1)
- 2023年7月(1)
- 2023年5月(1)
- 2022年11月(1)
- 2022年10月(1)
- 2022年9月(1)
- 2022年8月(1)
- 2022年7月(1)
- 2022年6月(1)
- 2022年5月(2)
- 2022年4月(1)
- 2022年3月(1)
- 2022年2月(1)
- 2022年1月(1)
- 2021年12月(1)
- 2021年11月(1)
- 2021年10月(1)
- 2021年9月(1)
- 2021年8月(1)
- 2021年7月(1)
- 2021年6月(1)
- 2021年5月(1)
- 2021年4月(1)
- 2021年3月(1)
- 2021年2月(1)
- 2021年1月(1)
- 2020年12月(1)
- 2020年11月(1)
- 2020年10月(2)
- 2020年9月(1)
- 2020年8月(1)
- 2020年7月(1)
- 2020年6月(1)
- 2020年5月(1)
- 2020年4月(2)
- 2020年3月(3)
- 2020年2月(1)
- 2020年1月(1)
- 2019年12月(1)
- 2019年11月(1)
- 2019年10月(1)
- 2019年9月(1)
- 2019年8月(2)
- 2019年7月(1)
- 2019年6月(1)
- 2019年5月(1)
- 2019年4月(1)
- 2019年3月(1)
- 2019年2月(1)
- 2019年1月(2)
- 2018年12月(2)
- 2018年11月(1)
- 2018年10月(3)
- 2018年9月(4)
- 2018年8月(6)
- 2018年7月(4)
- 2018年6月(1)
- 2018年5月(2)
- 2018年4月(2)
- 2018年3月(3)
- 2018年2月(1)
- 2018年1月(1)
- 2017年12月(1)
- 2017年10月(2)
- 2017年9月(1)
- 2017年8月(2)
- 2017年7月(1)
- 2017年6月(5)
- 2017年5月(2)
- 2017年4月(2)
- 2017年3月(3)
- 2017年2月(2)
- 2017年1月(2)
- 2016年12月(3)
- 2016年11月(2)
- 2016年10月(3)
- 2016年9月(4)
- 2016年8月(2)
- 2016年7月(4)
- 2016年6月(3)
- 2016年5月(1)
- 2016年4月(4)
- 2016年3月(3)
- 2016年2月(1)
- 2016年1月(5)
- 2015年12月(4)
- 2015年11月(5)
- 2015年10月(1)
- 2015年9月(6)
- 2015年8月(4)
- 2015年7月(1)
- 2015年6月(6)
- 2015年5月(3)
- 2015年4月(3)
- 2015年3月(2)
- 2015年2月(1)
- 2015年1月(3)
- 2014年12月(1)
- 2014年11月(1)
- 2014年10月(1)
- 2014年9月(3)
- 2014年8月(1)
- 2014年7月(1)
- 2014年6月(1)
- 2014年5月(3)
- 2014年4月(1)
- 2014年3月(1)
- 2014年2月(2)
- 2014年1月(1)
- 2013年12月(2)
- 2013年11月(2)
- 2013年10月(1)
- 2013年9月(3)
- 2013年8月(14)
- 2013年7月(7)
- 2013年4月(1)
- 2013年3月(4)
- 2013年2月(6)
- 2013年1月(6)
- 2012年12月(8)
- 2012年11月(6)