2016-08-25 9 views
0

必要があります。私はURLからJSONデータを取得する必要がありますはPHPでURLからJSONデータを取得することができことができない

問題:

はnull値を返す

試してみてください。

私が試しましたメソッドのCURLとfile_get_contentsの両方。しかし、両方の結果を与えていない

サンプルコード:

<?php 
ini_set("allow_url_fopen", 1); 
$url="http://techpaisa.com/chart/wipro/atr/?xhr"; 
$ch = curl_init(); 
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($ch, CURLOPT_URL,$url); 
$result=curl_exec($ch); 
curl_close($ch); 
$r=json_decode($result); 
print_r($r); 
?> 

このコードは、空を返します。私はちょうど、jsonをコピーして自分のウェブサイトに入れてみました。それから私は試して、私は結果を得た。ページコードとヘッダ・マイ・オウンは

Server: nginx/0.7.65 
Content-Type: application/json 
Keep-Alive: timeout=20 
Vary: Accept-Encoding 
Transfer-Encoding: chunked 
Date: Thu, 25 Aug 2016 20:59:46 GMT 
X-Varnish: 462939608 462936037 
Age: 3494 
Via: 1.1 varnish 
Connection: keep-alive 

:(スキップされたいくつかのJSON)

<?php 
header('Content-type: application/json'); 
echo "{'content': 'Date,Price,ATR#1995/02/01,37.0,0.5', 'analysis_type': 'atr', 'text_analysis': 'ATR: 9.57', 'axisname': 'Price', 'analysis_type_verbose': 'Average True Range', 'image_type': 'text/csv', 'symbol': 'wipro', 'fig_title': 'WIPRO Average True Range', 'annotations': '[]', 'set_date_range': true}"; 
?> 

ヘッダー値:

Server: Apache 
X-Powered-By: PHP/5.3.29 
Transfer-Encoding: chunked 
Content-Type: application/json 
+1

有効なJSONではありません。 –

+0

次に、jsonをPHPで表示する方法 – Kalaivanan

+1

有効なJSON形式で:) –

答えて

0

I私は "http://techpaisa.com/chart/wipro/atr/?xhr" からヘッダ次しまった

ちょうど試しました

var_dump(json_decode(file_get_contents($url), true)); 

と動作します。 コードはでも問題ありません。

もしそうでなければ、ここには何か別のものがあります。

  • どこからコードを実行しますか?おそらく、ファイアウォールやその他のメカニズムがあり、独自のWebページとスクリプトを読むことができますが、外部のリソースは読み取れません。これは一般に、リソースの乱用を防ぐために行われます。

  • あなたはその情報を読んでいますか?もしそうでなければ、ウェブマスターは誰かがデータを「掻き集める」ことに気付き、あなたの現在のWebサーバーのアドレスをロックアウトしているかもしれません。あなたはまだの情報を家からから読み取ることができます。それはサーバー上のPHPコードであり、もう動作しなくなります。

私は理由#1で個人的に賭けています。その場合は、あなたのWebサーバーを管理している人と一緒にそれを持ち出す必要があります。

+0

私の直接のWebサイトのURLからこのコードを実行していて、cronジョブを使用してURLを実行しています。 私はあなたのコードを試してみます – Kalaivanan

+0

それは働いています。ありがとう – Kalaivanan

0

ありがとうございましたlserni

私はあなたの答えを受け入れます。

コードが機能しています。しかし、事は、私はキー名から価値を得ることができないということです。

例:

url="http://techpaisa.com/chart/wipro/atr/?xhr"; 
$result=json_decode(file_get_contents($url), true); 
var_dump($result->content); 

それはエラー以下与える:

Notice: Trying to get property of non-object myfile.php 

しかし、私は、この使用して、次のコードを解く:

$url="http://techpaisa.com/chart/wipro/atr/?xhr"; 
$data = json_decode(file_get_contents($url,true)); 
var_dump($data->content); 
関連する問題