2010-11-01 153 views
1

我试图使用卷曲,外部网页使用https发布到外部网址,这里是服务器desc我'米使用curl errno 35(未知的SSL协议错误连接到[安全网站]:443)

服务器的Apache/2.2.11(Win32的)的mod_ssl/2.2.11的OpenSSL/0.9.8k PHP/5.3.0

外部URL进行重定向到另一个网址,我在邮寄,但每次我想我得到这个错误

curl_errno = 35(未知的SSL协议错误的连接[安全站点]:443)

,所以我检查萤火虫的响应和它说

无法加载来源:http://localhost/3Party/PHP_VPC_3Party_Auth_Capture_Order_DO.php

这里是代码我使用

ob_start(); 

// initialise Client URL object 
$ch = curl_init(); 
// set the URL of the VPC 

curl_setopt ($ch, CURLOPT_URL, $vpcURL); 
curl_setopt ($ch, CURLOPT_POST, 1); 
curl_setopt ($ch, CURLOPT_POSTFIELDS, $this->postData); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); 
curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, 0); 
curl_exec ($ch); 
if (curl_error($ch)) { 
    $this->errorMessage = 
     "curl_errno=". curl_errno($ch) . " (" . curl_error($ch) . ")"; 
} 
curl_close ($ch); 

回答

2

经过几个星期的处理这个问题,我至少能够建立连接,我不知道它是否是真正的答案,但它适用于我,我刚刚添加到上面的示例中,选项使用代理,就这样

curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, 1); 
curl_setopt($ch, CURLOPT_PROXYAUTH, CURLAUTH_NTLM); 
curl_setopt($ch, CURLOPT_PROXY, 'my.proxy'); 
curl_setopt($ch, CURLOPT_PROXYPORT, 'my.port'); 
curl_setopt($ch, CURLOPT_PROXYUSERPWD, 'domain\user:password'); 

希望这可以帮助

6

我觉得问题在于,您尝试在端口443上访问“http”URL(而不是“https”)。

您还可以尝试设置th e手动SSL版本:

curl_setopt($ch, CURLOPT_SSLVERSION, 3); 

将3替换为远程服务器正在使用的任何SSL版本。

+0

没有,我敢肯定,我试图访问HTTPS URL – 2010-11-02 12:55:46

+0

又是什么:无法加载来源:“'http'://本地主机/ 3Party/PHP_VPC_3Party_Auth_Capture_Order_DO .php“ – netcoder 2010-11-02 12:56:34

+0

现在你谈到了这一点,我试图重定向到一个http url的事实可能是问题,这是可行的吗? – 2010-11-02 12:57:48

相关问题