21
2012
12

将centos6的curl ssl版本(NSS)替换成openssl,解决Unable to load client key -8178的错误问题

在centos 6.2的系统里面的curl支持的https是nss版本的,而不是openssl的,所以在php使用curl访问https的时候会报Unable to load client key -8178的错误,在google group里面找到了灵感,也是curl和https的,里面说倒是curl的问题:
https://groups.google.com/forum/?fromgroups=#!topic/pongba/sgMYM9dGI7k


根据链接里面说的,去官网下载了一个最新版本(curl-7.28.1.tar.gz)的curl,来进行源码编译...

21
2012
12

解决PHP使用CURL请求时返回http/1.1 100 continue的方法

在使用curl做POST的时候, 当要POST的数据大于1024字节的时候, curl并不会直接就发起POST请求, 而是会分为俩步,

  1. 发送一个请求, 包含一个Expect:100-continue, 询问Server使用愿意接受数据
  2. 接收到Server返回的100-continue应答以后, 才把数据POST给Server
  

这是libcurl的行为.

具体的RFC相关描述: http://www.w3.org/Protocols/rfc2616/rfc2616-sec8.html#sec8.2.3

于是,这样就有了一个问题, 并不是所有的Server都会正确应答100-continue, 比如lighttpd, 就会返回417 “Expectation Failed”, 则会造成逻辑出错,,

要解决的办法也挺容易:

 curl_setopt($ch, CURLOPT_HTTPHEADER, array('Expect:'));
               // Disable Expect: header (lighttpd does not support it)

 

17
2012
11

524373.com网站建议征集专用

本文为建议征集专用。

乐民,或许有很多人都没听说过这个地名。但是,我们是在那里长大的。一直在想着,能否为自己出生的地方做点什么呢?

我现在能想到的,就是让更多人来了解乐民这个革命老区。

所以,我决定为乐民做一个网站!

 各位乐民的老乡、同学、朋友们,你们希望未来这...

06
2012
11

快速构建实时抓取集群[searchtb]

定义:
首先,我们定义一下定向抓取,定向抓取是一种特定的抓取需求,目标站点是已知的,站点的页面是已知的。本文的介绍里面,主要是侧重于如何快速构建一个实时的抓取系统,并不包含通用意义上的比如链接分析,站点发现等等特性。

在本文提到的实例系统里面,主要用到 linux+mysql+redis+django+scrapy+webkit,其中scrapy+webkit作为抓取端,redis作为链接库存 储,mysql作为网页信息存储,django作为爬虫管理界面,快速实现分布式抓取系统的原型。

名词解析:

1.  抓取环:抓取环指的是spider在存储中获取url,从互联网上下载网页,然后将网页存储到数据库里面,最后在从存储里面获取下一个URL的一个流程。
2.  Linkbase:链接库的存储模块,包含一般的链接信息;是抓取系统的核心,使用redis存储。
3.  XPATH:一门在 XML 文档中查找信息的语言,XPath 可用来在 XML 文档中对元素和属性进行遍历, 是 W3C XSLT 标准的主要元素。使用XPATH以及相关工具lib进行链接抽取和信息抽取。
4.  XPathOnClick:一个chrome的插件,支持点击页面元素,获取XPATH路径,用于编辑配置模板。
5.  Redis:一个开源的KV的内存数据库,具备很好的数据结构的特征和很高的存取性能。用于存储linkbase信息
6.  Django:爬虫管理工具,用于模板配置,系统监控反馈。Django在这里主要是用来管理一个数据库,使用Admin功能。
7.   Pagebase:页面库,主要是存储网页抓取的结果,以及页面抽取的结果,和dump交互,使用mysql实现。
8.    Scrapy:一个开源的机遇twisted框架的python的单机爬虫,该爬虫实际上包含大多数网页抓取的工具包,用于爬虫下载端以及抽取端。
9.     列表页:指的商品页面之外的所有页面
10.    详情页:比如商品B2C的抓取中,特指商品页面,比如

29
2012
09

安装Tokyo cabinet时提示configure: error: bzlib.h is required的解决方法

wget http://httpsqs.googlecode.com/files/tokyocabinet-1.4.47.tar.gz
tar zxvf tokyocabinet-1.4.47.tar.gz
cd tokyocabinet-1.4.47/
./configure --prefix=/usr/local/tokyocabinet-1.4.47/
#注:在32位Linux操作系统上编译Tokyo cabinet,请使用./configure --enable-off64代替./configure,可以使数据库文件突破2GB的限制。
#./configure --enable-off64 --prefix=/usr/local/tokyocabinet-1.4.47/
make
make install
cd ../

...

12
2012
09

几款网页制作必备的Firefox插件

Firefox是非IE内核浏览器的领头羊,而且近几年使用人群迅速增长,大有追赶IE的趋势。问及Firefox受欢迎的原因,多半都是因为它可以添加多种网页开发插件的优点。

下面我介绍几款常用的网页开发的常用插件:

29
2012
08

ubuntu 安装deb的qq的时候报错 version number does not start with digit

ubuntu 11.04默认没安装linux qq。不想使用web的。所以在腾讯下载 一个linux版本的qq安装

root@ubuntu:/home/chlyyangwei/下载# dpkg -i linuxqq_v1.0.2-beta1_i386.deb
dpkg:处理 linuxqq_v1.0.2-beta1_i386.deb (--install)时出错:
parsing file '/var/lib/dpkg/tmp.ci/control' near line 7 package 'linuxqq':
版本字符串 v1.0.2-beta1 中有错...

29
2012
08

JS execCommand方法

document.execCommand()方法处理Html数据时常用语法格式如下:
document.execCommand(sCommand[,交互方式, 动态参数])

其 中:sCommand为指令参数(如下例中的”2D-Position”),交互方式参数如果是true的话将显示对话框,如果为false的话,则不显 示对话框(下例中的”false”即表示不显示对话框),动态参数一般为一可用值或属性值(如下例中的”true”)。

...

16
2012
08

MySQL查询出现乱码解决方案

如果遇到MySQL查询乱码的情况,应该如何解决呢?下面就将为您介绍一个处理MySQL查询乱码的方法,希望对您能够有所帮助。

使用mysql> select * from table into outfile 'c:\table.txt' where 条件 
(或selet * into outfile from table where 条件 )

导出来的数据会出现MySQL查询乱码情况。同时使用
mysql>load data local infile 'c:\\table.txt' into table `table`

插入的数据也会出现乱码情况。

究其原因,这是mysql服务器系统变量中的character_set_database中默认的字符集问题。

解决方法:

07
2012
08

[转]9 个单页面网站开发必备 jQuery 插件

 单页面网站作为简单快捷,易于维护的页面设计方案,越来越受到工作室,作品集,或者个人博客类网站用户的青睐,我们可以使用不同的特效来使得页面更加的丰富和炫动,今天我们将介绍几款可以作为单页面开发的jQuery插件,帮助大家快速简便的实现一个单页面的网站设计,希望大家喜欢!
       jQuery one page nav
      使用这个插件,可以帮助你快速的搭建一个滚动的页面导航,如果你需要比较简单直接的方式开发一个单页面的网站,这个插件是一个不错的选择。

 

jQuery ScrollPath

jQuery ScrollPath是一个非常棒的插件,允许你画出自己自定义的滚动路径。HTML元素可以被放置到路径上,而且类似的鼠标滚轮,键盘上下移动键,或者 空格都可以帮助你移动到你需要到达的元素位置。并且一个可选的自定义滚动条可以帮助你方便的点击和拖拽滚动。而且插件允许你使用CSS变形旋转整个页面。