很奇怪的是,file_get_content函数可以对https地址发起请求并且收到响应报文,但是curl就不可以,这是什么原因呢?我已经安装了openssl扩展。
function fetch($url, $cookie=null, $postdata=null, $headers=null){
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
echo "$url\n";
if (!is_null($headers)) curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
if (!is_null($postdata)) curl_setopt($ch, CURLOPT_POSTFIELDS, $postdata);
if (!is_null($cookie)) curl_setopt($ch, CURLOPT_COOKIE, $cookie);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 20);
$re = curl_exec($ch);
curl_close($ch);
return $re;
}
echo fetch("http://baidu.com"); // 有输出
echo fetch("https://baidu.com"); // 无输出
Administrator@changwei MINGW64 /d/www/test
$ php ./test.php
http://baidu.com
<html>
<meta http-equiv="refresh" content="0;url=http://www.baidu.com/">
</html>
Administrator@changwei MINGW64 /d/www/test
$ php ./test.php
https://baidu.com
$ php -m
[PHP Modules]
bcmath
bz2
calendar
Core
ctype
curl
date
dom
ereg
fileinfo
filter
ftp
gd
hash
iconv
json
libxml
mbstring
mcrypt
mhash
mongo
mysql
mysqli
mysqlnd
odbc
openssl
pcre
PDO
pdo_mysql
pdo_sqlite
phalcon
Phar
redis
Reflection
session
SimpleXML
SPL
sqlite3
standard
tokenizer
wddx
xdebug
xml
xmlreader
xmlwriter
xsl
zip
zlib
[Zend Modules]
Xdebug
- 5 回答
- 0 关注
- 604 浏览
添加回答
举报
0/150
提交
取消