2012-04-02 9 views
1

私はゲームAPIによって生成された配列のcURL部分のみをしようとしています。多かれ少なかれ、私はクエリを高速化する必要のない要素をスキップしたいと思います。これは可能ですか? 例配列のcURL固有の部分だけ

[1] => Apple 
    [0] => Stem 
    [1] => Leaf 
[2] => Orange 

私はアップルの下でのみデータをダウンロードしたいと思います。 ありがとう!あなたはAPIを管理している場合、あなたはそれがWebサービスによって評価されている追加のパラメータを、受け入れてみようと追加される可能性がありAPI

を制御していない場合

+0

このAPIでデータのフィルタリングが許可されていないと、 –

+0

は特にcURLの部分については不明です。ステムとリーフの縫い目がサブアレイに入るようにする。もし興味があれば '$ subarr = $ arr [1];'そして '$ subarr'データを使ってリクエストを行います – ShinTakezou

答えて

0

これは、可能ではありませんあなたのHTTPリクエストに。だから、パラメータは、&詳細=りんごを使用すると、APIを制御することはできません場合は、あなたのcURLの要求は常に答えからすべてをつかむ、全体の要求を行います。この

のようにバックエンドで


    details = extractFromRequestParams("details"); 
    if (details==="apple") { 
     printOutDetailsForApple(); 
    } else { 
     printOutEverything(); 
    } 

を評価することができ、かつ後でその答えにアクセスできるようになります。

大規模な回答については、cURLライブラリをslighltyの下位レベルに置き換えて、HTTPリクエストからの読み取りをより詳細に制御する価値があります。彼らはあなたがすでに来ているように答えの一部を処理していて、応答から必要なものがすべて得られれば読書を止めることができます。おそらく、送信から数バイトを節約するでしょう。もちろん、最初は部分をスキップすることはできません。したがって、このアプローチの有用性は、回答全体で重要なデータの位置に依存します。そしてこれは、サーバー側で常にフラッシングする必要があります。これは制御できません。

関連する問題