2015-12-11 70 views
1

當我嘗試在一些其他服務器上的代碼它正常工作,但是當我在服務器上運行SSL「安裝」時,我從var_dump獲得空字符串。使用來自SSL服務器的Curl來下載xml提要?

$feedUrl = 'https://api.pinnaclesports.com/v1/feed?sportid=29&leagueid=1980-1977-1957-1958-1983-2421-2417-2418-2419-1842-1843-2436-2438-2196-2432-2036-2037-1928-1817-2386-2592-2081'; 
// Set your credentials here, format = clientid:password from your account. 
$credentials = base64_encode("password"); 
// Build the header, the content-type can also be application/json if needed 
$header[] = 'Content-length: 0'; 
$header[] = 'Content-type: application/xml'; 
$header[] = 'Authorization: Basic ' . $credentials; 
// Set up a CURL channel. 
$httpChannel = curl_init(); 
// Prime the channel 
curl_setopt($httpChannel, CURLOPT_URL, $feedUrl); 
curl_setopt($httpChannel, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($httpChannel, CURLOPT_HTTPHEADER, $header); 
curl_setopt($httpChannel, CURLOPT_USERAGENT, 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)'); 
// Unless you have all the CA certificates installed in your trusted root authority, this should be left as false. 
curl_setopt($httpChannel, CURLOPT_SSL_VERIFYPEER, false); 

// This fetches the initial feed result. Next we will fetch the update using the fdTime value and the last URL parameter 
$initialFeed = curl_exec($httpChannel); 
//var_dump($initialFeed); 

我已經有這個SSL服務器誰從其他網址下載CSV文件,它正常工作的腳本,所以我覺得這個問題是在我的頭,但它在其它服務器上是如何工作的,同樣的代碼?

回答

0

嘗試this

基本上說的事:

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true); 
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2); 
curl_setopt($ch, CURLOPT_CAINFO, getcwd() . "/CAcerts/BuiltinObjectToken-EquifaxSecureCA.crt"); 

或者嘗試this

+0

首先將無法正常工作。 第二個返回整個頁面,並顯示我被阻止的消息。 – DocNet