ds34222222 2017-04-12 12:49
浏览 96
已采纳

无法在php中使用curl获取json结果

Here I am try to get the JSON data from live share market(https://www.nseindia.com/live_market/dynaContent/live_watch/get_quote/ajaxGetQuoteJSON.jsp?symbol=tcs).

This url is return the JSON data in web browser. But I cannot get the JSON details using curl OR file_get_contents.

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
  • 写回答

1条回答 默认 最新

  • doulei6330 2017-04-12 12:56
    关注

    Try this one, it is working fine. You were missing some required headers. This url doesn't give any result without this 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);
    

    Output:

    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
    )
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥170 如图所示配置eNSP
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效
  • ¥15 悬赏!微信开发者工具报错,求帮改
  • ¥20 wireshark抓不到vlan
  • ¥20 关于#stm32#的问题:需要指导自动酸碱滴定仪的原理图程序代码及仿真
  • ¥20 设计一款异域新娘的视频相亲软件需要哪些技术支持
  • ¥15 stata安慰剂检验作图但是真实值不出现在图上
  • ¥15 c程序不知道为什么得不到结果
  • ¥15 键盘指令混乱情况下的启动盘系统重装