从laravel控制器获取Json文件

时间:2017-12-04 16:01:04

标签: php json laravel-5.4

我需要打印由托管在不同服务器上的Laravel控制器方法传递的json文件。发送这样的代码,

  function curlrequest($url, $data){  

        $handle = curl_init($url);
        curl_setopt($handle, CURLOPT_POST, true);
        curl_setopt($handle, CURLOPT_HTTPHEADER, array('Content-Type:application/json'));
        curl_setopt($handle, CURLOPT_POSTFIELDS, $data);
        curl_setopt($handle, CURLOPT_RETURNTRANSFER, true); 

        $output = curl_exec($handle);


        if($output === FALSE) {
                    die(curl_error($handle));
                  }else{

                    return $output;
                  }  

         curl_close($handle);  

        }  

在接收器php文件(本机php)中,我有以下代码,

echo '<pre>'.print_r(json_decode(file_get_contents("http://xxx.xxx.xx.xx/myproject/public/send")),1).'</pre>';

在我的web.php文件中,我有

Route::get('/send', 'Test\SendController@main'); 

我还没有运行此代码。但我发现我们无法使用file_get_content方法访问路由。谁能告诉我在这种情况下传递json的正确方法是什么?

1 个答案:

答案 0 :(得分:0)

您的问题似乎有点不清楚,但根据我的理解,您希望从http://xxx.xxx.xx.xx/myproject/public/send获取JSON输出并将其打印在您的PHP代码中。

一种简单的方法是使用GuzzleHttp

示例:

$client = new \GuzzleHttp\Client();
$result = $client->request('GET', 'http://xxx.xxx.xx.xx/myproject/public/send');
echo $result->getBody();