如何使用json API从cURL的响应中调用回调?

时间:2016-06-22 11:50:49

标签: php json api curl

我尝试从外部服务实施API,并且我正在使用他们的暂存环境。目前,我正在使用一些测试数据来发出基本请求/响应。

我使用的是php和cURL库。 这些是请求的数据:

$post_data = array(
    'some_property' => array(
        'key1' => 'value'
     ),
    'some_other_property' => array(...),
    'sandbox' => array(
        'api_key' => 'my_api',
        'callbacks' => array(
            'callback-type-1' => array('url' => 'http://my-url.local/api/callback1'),
            'callback-type-2' => array('url' => 'http://my-url.local/api/callback2')
         )
    )
)

卷曲部分:

$ch = curl_init($url);
curl_setopt_array(
    $ch,
    array(
        CURLOPT_POST => true,
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_HTTPHEADER => array(
            'Authorization: my_auth_key',
                'Content-Type: application/json',
                'X-Environment: sandbox'
        ),
        CURLOPT_POSTFIELDS => json_encode($post_data)
    )
);

$post_data数组中有一个sandbox属性,用于测试回调机制,因此,如果请求成功,则应调用sandbox/callbacks中列出的回调。 会发生的是第一个请求是成功的,但是它无法调用回调函数。 打印响应我收到此错误:

[sandbox] => Array
        (
            [callback-type-1] => Callback could not be sent (Exception: Unable to Connect to tcp://my-url.local/:80. Error #0: php_network_getaddresses: getaddrinfo failed: Name or service not known)
        )

我想我在做cURL时遇到了什么问题,但是在我周围徘徊时我并没有真正明白什么。

0 个答案:

没有答案