Home > Web > PHP:用curl读取https数据

PHP:用curl读取https数据

February 26th, 2012 17:20 Leave a comment Go to comments

最近在研究Wordpress插件,顺便尝试着做一个连接人人网的Wordpress插件,搜索过一些相关的插件,功能上大多是绑定用户系统一类的,没找到我需要的博主在Wordpress端更新人人网状态的插件,于是打算自己尝试做一个,顺便研究研究Wordpress函数和人人API。

昨天遇到了一个问题。我在本机上按照人人API文档的说明通过OAuth2.0获取到Access Token没有问题,传到服务器上发现读取不到人人OAuth返回的数据。后来发现是在服务器上file_get_contents()读取不到https的数据,在服务器上运行phpinfo()也确实发现没有OpenSSL组件,不过却看到了curl的information里面有OpenSSL,难道curl在没有OpenSSL的情况下也可以读取https数据么?

尝试了一下,确实可以:

1
2
3
4
5
6
7
8
9
10
function coco_renren_get_https($url) {
	$ch = curl_init();
	curl_setopt($ch, CURLOPT_URL,$url);
	curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
	curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
	curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
	$result = curl_exec($ch);
	curl_close($ch);
	return $result;
}

在服务器没有OpenSSL组件的时候,不能用file_get_contents()读取https,可以尝试下curl。

分享到:
Categories: Web Tags: , , , , , , , , (7,098 views)
  1. No comments yet.
  1. No trackbacks yet.