让Snoopy也支持HTTPS的解决办法

How to make Snoopy work with https, we will find out!
Class Name:Snoopy.class.php
Snoopy version:1.2.4

如何让Snoopy这个PHP支持HTTPS,即SSL安全协议,我们今天就来解决这个问题。

First of all, look at the comment of $curl_path in Snoopy.class.php.

Snoopy will use cURL for fetching SSL content if a full system path to the cURL binary is supplied here.
set to false if you do not have cURL installed.
See http://curl.haxx.se for details on installing cURL.
Snoopy does *not* use the cURL library functions built into php,as these functions are not stable as of this Snoopy release.

首先,看一下 Snoopy.class.php 中的注释。

如果系统支持cURL binary的话,Snoopy 将使用cURL来获取SSL内容.
如果没有安装cURL扩展,那这里的$curl_path默认就是false.
如何安装cURL请参见:http://curl.haxx.se .
虽然PHP5版本中已经内置了cURL函数,但Snoopy的作者认为,本版Snoopy发布时,这些cURL库的性能还不是很稳定。

如此说来,Snoopy的移情别恋是因为有更好的扩展库推荐。这个cURL库就是:http://curl.haxx.se。
访问这个站点,我看到当前的cURL版本已经更新到 2010年2月的 7.20.0,我顺道去看了一下PHP5.2.11 ext目录下的cURL.dll,可惜看不到版本号。

我使用的开发环境是Wamp,本以为在Windows环境下无法使用cURL功能,但很高兴,我在下载页面:http://curl.haxx.se/download.html 找到了Win32版本。而且,版本还比较丰富,包括Generic、MSVC和64位的版本。
默认支持2003/XP,so,尚不清楚在Win7下是否支持。有测试过的朋友可以反馈一下。

按照说明,下载openSSL和zlib并安装,Linux下基本已经默认自带了,各位可以可以检查一下,没有的可以按照说明编译,并重新配置一下PHP。

最后,重新在Snoopy.class.php中,指定cURL路径,设置端口为443,问题解决。

发表评论

回复 andy 取消回复

评论列表(3)

  • andy

    2011.12.12 18:12

    有幸阅读了您的《让Snoopy也支持HTTPS的解决办法》,能否详细谈下Wamp环境Curl的安装呀?这个问题在阅读后一直无法解决,恳请解答 谢谢!

    回复
  • 啊啊

    2010.9.3 15:09

    人很帅,但是太小气了。

    兄弟,你非要在我上班期间问我公司的核心技术,你还要在这说我小气,鄙视此人。

    回复
  • 蚊子μ交了

    2010.7.15 11:07

    有幸阅读了您的《让Snoopy也支持HTTPS的解决办法》,能否详细谈下Wamp环境Curl的安装呀?这个问题在阅读后一直无法解决,恳请解答 谢谢!

    回复