2017-04-12 1 views
0

Hier versuche ich bin die JSON Daten von Live-Aktienmarkt (https://www.nseindia.com/live_market/dynaContent/live_watch/get_quote/ajaxGetQuoteJSON.jsp?symbol=tcs) zu erhalten.kann nicht json Ergebnis mit curl in php bekommen

Diese URL ist die JSON-Daten in Web-Browser zurück. Aber ich kann die JSON Details nicht mit curl OR file_get_contents erhalten.

PHP-Code:

$url='https://www.nseindia.com/live_market/dynaContent/live_watch/get_quote/ajaxGetQuoteJSON.jsp?symbol=tcs'; 

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($ch, CURLOPT_URL,$url); 
$result=curl_exec($ch); 
curl_close($ch);  
$result_array =json_decode($result, true); 

print_r($result_array);//Empty result 
+0

was ausgegeben wird, wenn Sie diesen Code ausführen? Was ist deine PHP-Version? – marmeladze

+0

Aus meinem Test sieht es so aus, als ob Sie einen "Zugriff verweigert" erhalten. Nicht JSON. –

+0

@ - Marmeladze Ich bekomme leere Seite. PHP-Version 5.6 –

Antwort

4

versuchen diese, es funktioniert gut. Sie haben einige erforderliche Header verloren. Diese URL gibt kein Ergebnis ohne diesen Header User-Agent

<?php 
$url='https://www.nseindia.com/live_market/dynaContent/live_watch/get_quote/ajaxGetQuoteJSON.jsp?symbol=tcs'; 

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($ch, CURLOPT_URL,$url); 
curl_setopt($ch, CURLOPT_HTTPHEADER,array(
"Accept-Encoding:UTF-8", 
"Content-type: application/json", 
"User-Agent:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36")); 
$result=curl_exec($ch); 
curl_close($ch); 

$result_array =json_decode($result, true); 

print_r($result_array); 

Ausgang:

Array 
(
    [futLink] => /live_market/dynaContent/live_watch/get_quote/GetQuoteFO.jsp?underlying=TCS&instrument=FUTSTK&expiry=27APR2017&type=-&strike=- 
    [otherSeries] => Array 
     (
      [0] => EQ 
     ) 

    [lastUpdateTime] => 12-APR-2017 16:00:00 
    [tradedDate] => 12APR2017 
    [data] => Array 
     (
      [0] => Array 
       (
        [extremeLossMargin] => 5.00 
        [cm_ffm] => 1,27,324.62 
        [bcStartDate] => - 
        [change] => -27.30 
        [buyQuantity3] => - 
        [sellPrice1] => 2,393.25 
        [buyQuantity4] => - 
        [sellPrice2] => - 
        [priceBand] => No Band 
        [buyQuantity1] => - 
        [deliveryQuantity] => 3,31,274 
        [buyQuantity2] => - 
        [sellPrice5] => - 
        [quantityTraded] => 5,25,269 
        [buyQuantity5] => - 
        [sellPrice3] => - 
        [sellPrice4] => - 
        [open] => 2,422.50 
        [low52] => 2,051.90 
        [securityVar] => 3.85 
        [marketType] => N 
        [pricebandupper] => 2,661.20 
        [totalTradedValue] => 12,624.32 
        [faceValue] => 1.00 
        [ndStartDate] => - 
        [previousClose] => 2,419.30 
        [symbol] => TCS 
        [varMargin] => 7.50 
        [lastPrice] => 2,392.00 
        [pChange] => -1.13 
        [adhocMargin] => - 
        [companyName] => Tata Consultancy Services Limited 
        [averagePrice] => 2,403.40 
        [secDate] => 12APR2017 
        [series] => EQ 
        [isinCode] => INE467B01029 
        [indexVar] => - 
        [pricebandlower] => 2,177.40 
        [totalBuyQuantity] => - 
        [high52] => 2,744.80 
        [purpose] => INTERIM DIVIDEND RS 6.50 PER SHARE 
        [cm_adj_low_dt] => 15-NOV-16 
        [closePrice] => 2,393.25 
        [isExDateFlag] => 
        [recordDate] => 24-JAN-17 
        [cm_adj_high_dt] => 12-AUG-16 
        [totalSellQuantity] => 565 
        [dayHigh] => 2,428.00 
        [exDate] => 23-JAN-17 
        [sellQuantity5] => - 
        [bcEndDate] => - 
        [css_status_desc] => Listed 
        [ndEndDate] => - 
        [sellQuantity2] => - 
        [sellQuantity1] => 565 
        [buyPrice1] => - 
        [sellQuantity4] => - 
        [buyPrice2] => - 
        [sellQuantity3] => - 
        [applicableMargin] => 12.50 
        [buyPrice4] => - 
        [buyPrice3] => - 
        [buyPrice5] => - 
        [dayLow] => 2,383.00 
        [deliveryToTradedQuantity] => 63.07 
        [totalTradedVolume] => 5,25,269 
       ) 

     ) 

    [optLink] => /marketinfo/sym_map/symbolMapping.jsp?symbol=TCS&instrument=-&date=-&segmentLink=17&symbolCount=2 
) 
+0

bekomme ich die leere Seite. Wirklich ich kenne den Fehler nicht. PHP-Version ist ein Problem? –

+0

@RamaLingam kopieren und dann meinen Code versuchen Sie es erneut –

+0

ich immer noch 'cURL Fehler (60): Peer-Zertifikat kann nicht mit bestimmten CA certificates' mit diesem Code authentifiziert werden, so was haben Sie, dass ich nicht? Mit PHP7.0.17 – RiggsFolly