2012-12-28 82 views
0

我對PHP仍然不是很滿意,而且對Json也是一個全新的東西。我想要做的是檢查一個特定的Twitch.tv Livestream是否在線,也是我想要的觀衆。 Twitch.tv有自己的API(https://github.com/justintv/Twitch-API/wiki/API),這應該是可能的。這是我的第一種方法:如何在PHP中製作https請求

// Twitch Streams 
else if($typ == 't') { 
    $api = file_get_contents("https://api.twitch.tv/kraken/streams/".$stream_id); 
    $json = json_decode($api); 
    if($json->stream != null) { 
     return true;  
    } 
    else { 
     return false; 
    } 
} 

的問題是,似乎的file_get_contents不明白https,則claimes的包裝沒有安裝。事情是API不支持正常的http請求,所以我想我必須使用另一個函數。有人可以建議我一個不同的(不太難用)功能。我已經閱讀了關於捲曲和fsocket,但他們似乎有點難以用於我。

+0

容易並不總是更好。 :)閱讀cURL。你會得到它的竅門。 – SenorAmor

+0

你應該使用捲曲庫。 http://php.net/manual/en/book.curl.php –

+0

請參閱http://stackoverflow.com/questions/2305954/how-to-enable-https-stream-wrappers –

回答

1

https://可能沒有啓用。這篇文章可能會幫助你找出原因:How to get file_get_contents() to work with HTTPS?。應該沒有理由爲什麼你必須使用cURL,但cURL通常更靈活,所以如果你能夠理解它是如何工作的,我建議你使用它。

+0

他們兩人都不適合我。我啓用了php_openssl.dll,並在php.ini中寫入allow_url_include = On。還是一樣的錯誤。 Curl也不適合我:'PHP啓動:無法加載動態庫'c:/wamp/bin/php/php5.3.13/ext/php_curl.dll' - 應用程序啓動失敗,因爲它並排配置是不正確的。「是否有另一個(不是很奇怪)的方法來做到這一點? –

+0

確實如此。擺脫WAMP;它的標準配置是可怕的,這可能會導致你的錯誤。如果你手動安裝Apache/PHP,它可能會更容易處理。此外,PHP安裝程序可以爲你配置cURL和其他擴展,這樣你就不會自己搞砸了。 =)附註:加載cURL時導致此確切錯誤的原因可能是文件系統中錯誤的.dll或錯誤讀取/執行權限。 –

+0

Thanx的建議,我已經得到了SSL的工作,我不得不啓用在Apache文件夾中的php.ini擴展也讓它運行。我到目前爲止真的很喜歡Wamp,至少比Xamp好多了。 –

1

PHP Curl應該可以幫助解決這個問題。

以下鏈接說明了如何獲得HTTP代碼: http://php.net/manual/en/function.curl-getinfo.php

+0

所以我試圖使用Curl現在... 首先是以下錯誤 '致命的錯誤:調用未定義的函數curl_init()' 谷歌搜索了一下,我發現了,與我的版本我不得不推薦php.ini中的curl擴展,出現以下錯誤:'PHP啓動:無法加載動態庫'c:/wamp/bin/php/php5.3.13/ext/php_curl.dll' - 應用程序啓動失敗,因爲它的並排配置不正確。 '我發現這是一個wamp問題,並在http://www.anindya.com/上發現了一個修復程序,這使得我的php無法工作。 SO FU CURL !!! –

+0

LOL,這不是cURL的錯誤,您的環境未配置爲使用它。我是Zend Server的粉絲,因爲它讓管理環境變得更容易。 – Mark1inLA