2010-11-01 154 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

相關問題