博客

  • 各种妖孽

    php cURL模拟POST请求,碰到这样的错误:

    HTTP/1.0 417 Expectation failed
    Server: squid
    Date: Fri, 02 Mar 2012 16:08:46 GMT
    Content-Type: text/html
    Content-Length: 1563
    X-Squid-Error: ERR_INVALID_REQ 0
    X-Cache: MISS from none.net
    Via: 1.0 none.net:80 (squid)
    Connection: close

    请求头
    POST /abc.php HTTP/1.1
    User-Agent: Internal Callback
    Host: www.abc.com
    Accept: */*
    Content-Length: 14598
    Content-Type: application/x-www-form-urlencoded
    Expect: 100-continue

    解决方案:设置CURLOPT_HTTPHEADER为array(‘Expect:’)

    参考链接:
    http://chrismckee.co.uk/curl-http-417-expectation-failed/
    http://www.shesek.info/php/http-error-417-with-php-curl

  • Tornado实时行情报价

    用Tornado实现了一个实时行情报价系统,长轮询,一个简单的应用,从看文档查资料到实现。
    花了大概两个小时。
    好惊讶。

    继续玩python:)

    接下来要做点其他好玩的东西了。

  • 三个HTML代码清理工具

    Tidy
    htmLawed
    HTML Purifier

  • PHP_CURL以指定IP发起请求。

    配置 CURLOPT_INTERFACE 为指定的Interface。

    curl_setopt($ch, CURLOPT_INTERFACE, $ougoingInterface);

    http://php.net/manual/en/function.curl-setopt.php

  • stay.

    Unless you try to do something beyond what you have already mastered, you will never grow. — Ralph Waldo Emerson

  • RG100A-AA路由器 + OpenWrt 导致的网络故障

    张生方案里使用了一个RG100A-AA路由器,并刷了OpenWrt作为二级路由。

    但是最近发现无线可以连接,但是上不了网,把这个二级路由关掉后,就恢复正常,很是诡异。

    今天无意登入到电信送的主路由器里发现有一个MAC地址被分配了192.168.1.1这个IP,恍然大悟,于是乎在主路由过滤掉这个MAC地址。。

  • Arch Linux是个好玩意儿。

    Arch Linux是个好玩意儿。
    一个轻量级发行版。
    滚动更新对于我这个升级控来说很好用。
    BSD风格的启动框架,对于我这个FreeBSD的粉丝来说用起来很舒服。
    pacman对包依赖解决的也很好。
    在/etc/rc.conf文件里就可以解决掉很多配置项。
    软件仓库163有镜像。

    ArchLinux哲学

    • 轻便灵活,符合KISS原则。
      • 采用BSD风格的启动脚本,集中管理,易懂易改。
      • 统一的目录架构,避免一般软件分属/bin,/usr/local/bin等多个目录的弊病,将所有的包集中在/bin,/lib,/usr/man,/usr/share/man中。
      • 精简的打包方式,删去部分说明,但保留了man page,从而使包装后的二进制包比一般的Linux小(例如:安装基础包和X视窗,仅需约100MB)。
      • 软件初次安装后,仅为默认配置。可能需要包手册,才能了解后续配置。
  • 常识、代码、生活以及游戏

    我喜爱自然科学。

    常识。
    空气污染这个事情现在被闹得这么大,其实比较可笑。。。
    非得要出个什么软件或者机构发布一个数据出来,大家才会去关注一下。。。

    科普常识这个事情实在是个长久的大工程啊。。。
    捎带推荐一本书:健康流言终结者 松鼠会的医学博士 “薄三郎” 所写。
    上帝保佑呼吸了帝都毒气的苦逼人民。

    代码。
    先看这篇:《先要好代码? 还是好产品?》
    少一些技术思维,多一些产品思路。
    代码是为了产品服务的。最终–是为了服务生活。

    生活。
    微博上有一段时间总是有一些人在转发“炫耀”加班。但是。。。真的需要这样吗?
    如何高效有效的做事才是值得思考的。去看看Get thing Real & Rework吧。
    工作是为生活服务的。

    游戏。
    浑水上海中转站:中国“隐形人”的蓝海生意
    I love this game.

  • http协议版本号导致的问题

    一台小内存(主要是想说在小内存的机器上使用apache2作为后端关闭keep-alive比php-fpm稳定的多)机器上使用nginx作为前端,apache2作为后端。

    今天在部署一个网站(基于slim framework)的时候访问提示如下错误:

    内容编码错误
    无法显示您尝试查看的页面,因为它使用了无效或者不支持的压缩格式。

    网上搜了一些结果大部分都是碰到gzip头空白的问题。
    搜索了一下代码并无相关gzip操作的代码。

    遂继续搜索header操作的代码,发现一个Slim_Http_Response类里的属性$httpVersion默认是1.1,而nginx不支持1.1的后端服务。
    于是就会提示错误。

    相关链接:http://wiki.nginx.org/HttpProxyModule

    It is an HTTP/1.0 proxy without the ability for keep-alive requests yet. (As a result, backend connections are created and destroyed on every request.) Nginx talks HTTP/1.1 to the browser and HTTP/1.0 to the backend server. As such it handles keep-alive to the browser.

  • 使用nautilus-share打开Windows Share提示:“Failed to retrieve share list from server”解决方法。

    Access it directly by ip address:

    nautilus smb://192.168.0.100

    参考:http://ubuntuforums.org/showthread.php?t=1815360