在PHP中使用libcurl连接https/SSL网站,可以用以下代码测试是否连接畅通:
<? $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, 'https://passport.baidu.com/?login'); curl_setopt($curl, CURLOPT_POST, false); $curl_res = curl_exec($curl); echo $curl_res; if (curl_errno($curl)) { echo 'Error: ' . curl_error($curl); } curl_close($curl); ?>
如果显示正常,则证明连接畅通。
如果显示“Error: couldn't connect to host”,则证明出错啦!
首先,进入phpinfo页面查看libcurl,看看curl字段是否有OpenSSL支持。如果没有,那就自己折腾PHP的安装吧!
然后,将libeay32.dll和ssleay32.dll拷贝到windows目录、system32目录;或者如果是命令行运行PHP,则拷贝到当前运行目录;或运行Apache运行PHP,则拷贝到当前运行Apache的目录。
重启Apache或者PHP,再次执行代码查看是否正常。
连接https,特别是模拟登录https。应该知道要post些什么过去,但https是加密的,我想这是curl登录https的难点
https对于用户/脚本和目标服务器都是可见的。所以分析网站的话,在浏览器用分析工具就行了