处理具有重定向响应的API

时间:2016-08-30 15:35:21

标签: php rest redirect curl

我有一个案例,我需要将数据发布到具有重定向响应的API端点,我的意思是当我点击例如" xxx.com/api/v1/receive"如果有几个帖子参数,它可能会重定向到处理API提供商提供的身份验证以进一步访问的页面,然后重定向回我的站点。

在我的代码中,我实现了类似的内容来发布数据

$data = ['key'=>'val'.etc...];
$post_data = http_build_query($data);

// open connection
$ch = curl_init();

// set option
curl_setopt($ch,CURLOPT_URL,$this->dev_url);
curl_setopt($ch,CURLOPT_POSTFIELDS,$post_data);
curl_setopt($ch,CURLOPT_FRESH_CONNECT,true);


// execute
$result = curl_exec($ch);

当我使用常规表单提交使用html表单并发布一些参数时,它会运行重定向的东西,比如它的假设,但是当我发布数据时,如上面的代码,它没有响应。是否有可能使用curl获取响应(重定向响应),如html表单?

1 个答案:

答案 0 :(得分:0)

$data = ['key'=>'val'.etc...];

$result = file_get_contents ( "http://yoururl.com", false, stream_context_create ( array (
                    'http' => array (
                            'method' => 'POST',
                            'content' => json_encode ( $data ) 
                    ))));

您可以查看var_dump($result);