使用http_get请求获取JSON

时间:2014-01-12 10:08:31

标签: php http curl

我使用第三方API非常新,我需要获取一些使用JSON格式化的数据。文档here

$url = 'https://api.tapjoy.com/reporting_data.json';
$vars = '?email=myname%40email.com
        &api_key=123456789
        &date=YYYY-MM-DD
       [&page=NUM]
       [&timezone=NUM]';

$parameters = array('email' => 'myemail@me.com'
                    'api_key', => '123456789',
                    '' => '2014-12-22');

$response = http_get($url, $parameters, $info);
print_r($info);

我不确定localhost的配置方式是否可能导致此错误,但这就是它在MAMP错误日志中的说法。

PHP Fatal error: Call to undefined function http_get()

所以,我接下来尝试了这种方法。

$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POSTFIELDS, $vars);
        curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);

        $data = curl_exec($ch);
        curl_close($ch);

        var_dump(@json_decode($data, true));

这会产生

NULL

根据我的经验,使用file_get_contents总是对我来说足够了。所以,尝试cURL对我来说有点陌生。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

对于PHP致命错误:调用未定义的函数http_get(),

我认为未启用php_http.dll扩展程序。

;extension=php_http.dll

从上面的行中删除;冒号,如下所示

extension=php_http.dll

最后重启apache并确保使用phpinfo();函数

启用它