1

justin.tv からビデオ ストリーム情報を取得しようとしています。

wiki のコードをたどったところ、いくつかのエラーが発生しました。ここにいくつかのエラーを出力した後、私が得たものがあります。

カール:有効

致命的なエラー: Curl はエラー #7 で失敗しました: 行 30 の /srv/disk/14779/www/blah/test.php のホストに接続できませんでした

誰でも私を助けることができますか?私はすべてを正しく行ったと信じています。URL は確実に機能します。確認しました。

   <?php
    $streamer = array();
    $status = array();
    $viewers = array();
    $i = 0;
    $stream_list = "jojo0123"; 
    echo 'Curl: ', function_exists('curl_version') ? 'Enabled' : 'Disabled';
    try{
        $mycurl = curl_init();

        if (FALSE === $mycurl)
            throw new Exception('failed to initialize');

        curl_setopt ($mycurl, CURLOPT_HEADER, 0);
        curl_setopt ($mycurl, CURLOPT_RETURNTRANSFER, 1); 
        $url = "http://api.justin.tv/api/stream/list.json?channel=" . $stream_list; 
        curl_setopt ($mycurl, CURLOPT_URL, "http://api.justin.tv/api/stream/list.json?channel=jojo0123");
        $web_response =  curl_exec($mycurl); 


        if (FALSE === $web_response)
            throw new Exception(curl_error($mycurl), curl_errno($mycurl));
    }
    catch(exception $e){
        trigger_error(sprintf(
        'Curl failed with error #%d: %s',
        $e->getCode(), $e->getMessage()),
        E_USER_ERROR);
    }

    echo " web response: " . get_class($web_response) . "\n";
    $array = json_decode($web_response);

    echo "SIZE OF ARRAY IS                        " . sizeof($array) . "\n";
    foreach($array as $value) {
        $streamer[$i] = $value->channel->login;
        $viewers[$i] = $value->channel_count;
        $status[$i] = "online";
        $i++;
    }

    $data['streams'] = $streamer;
    $data['status'] = $status;
    $data['viewers'] = $viewers;
    echo json_encode($data);
?>
4

1 に答える 1

0

この応答は、ファイアウォールが接続をブロックしていることを意味します。使用されるポートは、使用しているモジュールによって異なります。あなたの側でサーバー構成とファイアウォール構成を確認してください。

于 2013-07-09T04:01:25.670 に答える