2016-08-30 74 views
1

我有一个案例,我需要将数据发布到具有重定向响应的API终结点,我的意思是当我用例如“xxx.com/api/v1/receive”命中几个后期参数,它假设重定向到一个处理由API提供商提供的认证以进一步访问的页面,然后重定向回我的网站。处理重定向响应的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表单?

+0

所以,当你的表格行动是终点,脚本执行符合市场预期,但使用curl和不断变化的行动,以自我的时候,按预期脚本没有工作? –

+0

还记得将CURLOPT_POST设置为true –

+0

正确。我只是将CURLOPT_POST设置为true,仍然没有响应 –

回答

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);

+0

我有这个错误“file_get_contents():内容类型未指定假设应用程序/的X WWW窗体-urlencoded” –