2013-10-23 49 views
1

我有一个接收GET数据并使用stream_get_contents将其发布到另一个URL的PHP​​脚本。PHP通过HTTPS向URL提交数据

header("Access-Control-Allow-Origin: http://submitting-domain.com"); 
$url = https://example.url 
$getData = "Example data"; 
$getDataLength = strlen($getData); 
$opts = array(
     'http'=>array(
     'method'=>"POST", 
     'header'=>"Content-type: text/xml\r\n" . 
       "Content-Length: ".$getDataLength."\r\n", 
       "content"=>$getData 
     ) 
    ); 

$ctx = stream_context_create($opts); 
$fp = fopen($url, 'rb', false, $ctx); 
$response = stream_get_contents($fp); 
fclose($fp); 
return $response; 

当URL是http://example.url这一切工作正常,但是当我将其更改为https://example.url连接失败。我找不到有关如何使用安全连接创建流的文档,但有一个建议是确保open_ssl扩展已安装。

不幸的是,这很难完成(它在客户端的服务器上),但我想知道是否有人有任何想法或可以看到我是否做错了什么?

我试着将初始选择数组http密钥设置为https,但没有任何更改。

任何帮助表示赞赏!谢谢。

编辑:启用open_ssl扩展在PHP解决错误

+0

那么你有没有安装open_ssl模块?如果不是,那么你很难期望那些依赖于该模块可用的东西。 – CBroe

回答