我正在尝试使用HTTPS向网址发送帖子请求,但我一直收到错误。
这是我的代码:
function do_post_request($data, $optional_headers = null) {
$params = array('http' => array(
'method' => 'POST',
'content' => http_build_query($data)
));
$url = 'https://url';
$ctx = stream_context_create($params);
$fp = @fopen($url, 'rb', false, $ctx);
fpassthru($fp);
if (!$fp) {<--- falls here
throw new Exception("Problem with $url, $php_errormsg");
}
$response = @stream_get_contents($fp);
if ($response === false) {
throw new Exception("Problem reading data from $url, $php_errormsg");
}
return array(substr(trim(strip_tags($response)),0,3), trim(strip_tags($response)));
}
我得到的错误是:
Fatal error: Uncaught exception 'Exception' with message 'Problem with https://gateWay.pelecard.biz/PayProcess/English, ' in C:\PelecardProjects\aspsite\Post\PHP\PayEng.php:103 Stack trace: #0 C:\PelecardProjects\aspsite\Post\PHP\PayEng.php(83): do_post_request(Array) #1 {main}
我读到某个地方我需要启用php OpenSSL扩展吗?
答案 0 :(得分:0)
解决了,我的https配置不好。
执行了以下步骤
1.将php.ini-production重命名为php.ini(在php文件夹中)
2.编辑php.ini并取消注释extension_dir = ext。
3.uncomment extension = php_openssl.dll。
4.将libeay32.dll和ssleay32.dll添加到C:\ WINDOWS \ system32 \ inetsrv