用户
 找回密码
 入住 CI 中国社区
搜索
查看: 2556|回复: 3
收起左侧

[版本 3.x] 新手求指导,关于curl

[复制链接]
发表于 2016-1-9 09:10:50 | 显示全部楼层 |阅读模式
在本地服务器中已经开启对curl的支持,写了一个php文件,能够通过api调取别的网站数据,代码如下:
        $ch = curl_init();
         $url = 'http://apis.baidu.com/apistore/mobilenumber/mobilenumber?phone=13916965573';
         $header = array(
           'apikey: **********',
         );
         // 添加apikey到header
        curl_setopt($ch, CURLOPT_HTTPHEADER  , $header);
        // 添加apikey到header

        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
         // 执行HTTP请求
        curl_setopt($ch , CURLOPT_URL , $url);
        $res = curl_exec($ch);
        var_dump(json_decode($res));
但是我放在CI3.0 框架里,写了一个控制器,总是报错,错误提示为:
    Parse error: syntax error, unexpected 'curl_setopt' (T_STRING)

本人新手,望懂的指导一分钟,大神勿喷
 楼主| 发表于 2016-1-9 09:12:19 | 显示全部楼层
求指导下,正在学关于api方面的知识
发表于 2016-1-9 13:16:05 | 显示全部楼层
'apikey: **********', 是不是这个最后多了一个逗号啊?
最重要的是:我是来帮顶的
发表于 2016-3-10 18:40:30 | 显示全部楼层
/**
* 创建一个CURL网络访问
*
* @param string $url  要访问的地址
* @param array $data  要POST的值
* @param array $headers  要附加的HTTP头信息
*
* @return string  返回服务器的响应, false请求失败
*/
function curlRequest($url = '', $data = array(), $headers = array())
{
    if( empty( $url ) )
        return false;

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
   
    if( $headers )
    {
        $temp = array();
        foreach( $headers as $key => $val )
            $temp[] = "{$key}: {$val}";
        curl_setopt ( $ch, CURLOPT_HTTPHEADER, $temp );
    }
   
    if( $data )
    {
        curl_setopt($ch, CURLOPT_POST, 1);
        curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
    }
    $output = curl_exec($ch);
    curl_close($ch);

    $startVar = substr( $output, 0, 1 );
    $endVar = substr( $output, strlen($output) - 1, 1 );
    if( $startVar == '{' && $endVar == '}' || $startVar == '[' && $endVar == ']' )
    {
        $temp = @json_decode( $output, true );
        if( $temp !== false )
            $output = $temp;
    }
   
    return $output;
}

本版积分规则