zoukankan      html  css  js  c++  java
  • curl实例-通过新浪股票接口获取股票信息

    在学习curl的过程中,我们知道curl是相当于一个简单的浏览器,通过往对应的服务上面发送数据信息,返回服务器的响应结果,这个在Java里面主要是使用封装好的httpclient来进行操作,但是自己认为在php里面会更加的简单,方便!

    首先使用:curl_init,初始化一个新的会话,返回一个cURL句柄,这个就像是Java里面的socket通信,建立网络通信连接。

    curl_setopt 这个是主要的方法,curl_setopt()函数将为一个CURL会话设置选项。option参数是你想要的设置,value是这个选项给定的值。可以设置的参数很多,比如:CURLOPT_URL 这个是最重要的,没有请求地址,后面参数就没用了,CURLOPT_ENCODING设置请求的编码

    下面是一个php curl获取新浪股票信息的实例:

    function get_stock_now_info($stock_code){
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, “http://hq.sinajs.cn/list=sz”.$stock_code);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_ENCODING ,’utf-8′); //加入gzip解析
    curl_setopt($ch, CURLOPT_HEADER, 0);
    // 3. 执行并获取HTML文档内容
    $output = curl_exec($ch);
    // 4. 释放curl句柄
    curl_close($ch);
    $output = mb_convert_encoding($output, “utf-8″, “gbk”);
    $strs=explode(“=”, $output);
    if(strlen($strs[1])<10){
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, “http://hq.sinajs.cn/list=sh”.$stock_code);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_ENCODING ,’utf-8′); //加入gzip解析
    curl_setopt($ch, CURLOPT_HEADER, 0);
    // 3. 执行并获取HTML文档内容
    $output = curl_exec($ch);
    // 4. 释放curl句柄
    curl_close($ch);
    $output = mb_convert_encoding($output, “utf-8″, “gbk”);
    $strs=explode(“=”, $output);
    }
    $return_str=$strs[1];
    $return_str= substr($return_str, 1,strlen($return_str)-4);
    return explode(‘,’, $return_str);
    }

    因为该接口需要指定sz或sh,所以只能是分析返回的结果来判断一下,其中

    mb_convert_encoding($output, “utf-8″, “gbk”);这个主要是解决编码乱码的问题,可以参考:

    http://www.cangzhang.com/1425.html

    返回数组的数据如下:

  • 相关阅读:
    ajax 新闻栏目
    ajax 瀑布流实现
    html5 canvas图片渐变
    html5 canvas图片翻转
    html5 canvas图片反色
    ajax 第一个程序
    ajax 新闻栏目
    HDU 1756 Cupid's Arrow( 判断点在多边形的内外 )
    POJ 2356 Find a multiple( 鸽巢定理简单题 )
    HDU 5762 Teacher Bo ( 暴力 )
  • 原文地址:https://www.cnblogs.com/yszr/p/8313569.html
Copyright © 2011-2022 走看看