使用这条命令去抓取页面, 不传递Via的header时,是能正常执行的,当带上via时,返回内容不再gzip,直接是正常文本。 查询了下相关资料,原来via参数在RFC里是有规范的,不是随便指定的。 见:http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.45`curl -s -H ‘Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,/;q=0.8’ -H ‘Accept-encoding: gzip,deflate’ “http://m.news.haosou.com/" -H “Via: curl” | gunzip - 使用这条命令去抓取页面, 不传递Via的header时,是能正常执行的,当带上via时,返回内容不再gzip,直接是正常文本。 查询了下相关资料,原来via参数在RFC里是有规范的,不是随便指定的。 见:http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.45`

阅读全文

最近在看golang,看了《GO语言编程》,没看一段都会照葫芦画瓢搞个demo来玩玩。 在搞交叉编辑的时候,遇到了麻烦,按书上搞的,buildpkg 这个脚本里,需要在$GOROOT/src下执行go tool dist install -v pkg/runtime ,可是src下根本没有这个 pkg/runtime的目录啊,总是报错,怎么也编译不出来。 自己就不管那个脚本了,自己看错误提示琢磨。 自己直接 go build exe文件的时候,报错 go build runtime: windows/386 must be bootstrapped using make.bash 然后估摸着,需要先修改GOOS和GOARCH进行make.bash,试了下,果真可以。 所以,交叉编译,做一个windows下64位电脑可用的exe文件,这样搞: 效果图:

阅读全文

今天收到用户反馈,用户在举报谈谈的谈主时会显示提交失败。 这个反馈页面入口在反馈平台,调用谈谈项目的后端接口。 这个服务相关的接口都好久没有动了,为什么会失败呢? 在线上找了一台机器进行debug,发现接口返回内容是“正常”的,一段可读的json字符串。把字符串拷贝下,在js下发现是可以解析的。 但是该项目下用的json_decode,却怎么都decode不成功。调试了半天都觉得甚是古怪,一直都找不到头绪,怕自己脑子是思维定势了,跑去看了会golang,再回来继续解决。 再怎么看, 都还是觉得很正常,不应该出问题。 再一次拷贝接口返回的字符串的时候,发现头部多了个标签。 查了下,发现这个FEFF就是BOM。 参考:字节顺序标记找到问题所在了,解决问题就好说了。 windows下有各式各样的编辑器,都可以解决bom头问题,可是linux下该怎么解决呢? google了下,问题都解决了。 1.找到哪些文件包含BOM头。 通过hexdump可以看到bom头的存在。 2.删除BOM头信息。 删除后就不会再看到BOM头拉。 可以用一条命令查找并删除文件的BOM头信息: 总结: 在多人维护的项目下,很可能会有其他人上传一些不合适的文件或代码,需要对一些常规情况进行监控,及时发现、解决,避免影响线上问题。

阅读全文

管理后台不知道为啥出了点小bug,以前管用的一个功能突然不能用了,看了下数据接口是调用成功了,大周末的,又不好麻烦FE,只好自己看看了。 通过查看源代码发现,使用了jquery里的ajax方法,通过get回来的结果并没有按预期的执行success回调。 查看网络请求,接口是返回成功的。 然后对该方法添加了error回调,打印出返回信息,readystate=4,返回头是200,但是为啥就不success呢。 google了下后发现,原来问题出在返回信息的content-Type上,返回的不是json类型,但是ajax方法里指定了类型为json,所以ajax方法在解析json的时候出错了。解决办法有两个: 1.接口返回的header里指定content-Type为json, 2.ajax调用的时候,指定dataType为text,然后自己用JSON.parse进行解析。

阅读全文

大家应该都知道,开启php的coredump输出,修改ulimit -c就可以了,但是很多情况下,会提示权利受限,无法修改

解决方案:

1.检查配置

看看shell配置里有没有 ulimit -c 0 这种类似的关闭的操作,例如 $HOME/.bash_profile 或者 $HOME/.bashrc 之类的,如果有,注释掉。

阅读全文

只有ie能上网,其他浏览器和软件都不能的解决方法:

以管理员方式打开cmd.exe,运行如下命令:

netsh winsock reset catalog netsh int ip reset reset.log hit

让被阻止了的svchost.exe进程恢复正常,以解决Windows 7 通信端口初始化失败的问题  

 

阅读全文

作者的图片

DigDeeply

Technology Stack: Golang/PHP/Openresty, and so on…

Web Development Engineer

Beijing China