我需要打印由托管在不同服务器上的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的正确方法是什么?
答案 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();