如何解决如何在宅基地内的 2 个 Laravel 6 应用程序之间发送 CURL 发布请求?
我从 Laravel Homestead 上运行的 app1 发送这个 curl 请求
$ch = curl_init('http://app2.test/api/add-user'); //without the port 8000
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
curl_setopt($ch,CURLOPT_POST,1);
curl_setopt($ch,CURLOPT_POSTFIELDS,$passportData);
curl_setopt($ch,CURLOPT_HTTPHEADER,array(
'Content-Type: application/json','Accept-Length: application/json')
);
$response = curl_exec($ch);
curl_close($ch);
Log::alert($response);
如果我添加端口 http://app2.test:8000,我将一无所获
app2 路由
Route::group(['namespace' => 'Api','middleware' => 'guest'],function () {
Route::post('add-user','AddUserController');
app2 cors 中间件
return $next($request)
->header('Access-Control-Allow-Origin','*')
->header('Access-Control-Allow-Methods','GET,POST,PUT,DELETE')
->header('Access-Control-Allow-Credentials','true')
->header('Access-Control-Allow-Headers','Content-Type,x-csrf-token,x-xsrf-token,Authorization');
但是我在日志中得到了这个响应
[2021-03-10 11:02:41] local.ALERT: <!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<meta http-equiv="refresh" content="0;url='http://app2.test'" />
<title>Redirecting to http://app2.test</title>
</head>
<body>
Redirecting to <a href="http://app2.test">http://app2.test</a>.
</body>
</html>
在 app2 控制器中
Log::alert('post data',$request->all());
我试过 Guzzle
$client = new \GuzzleHttp\Client();
$response = $client->post(
'http://app2.test/api/add-user',[
\GuzzleHttp\RequestOptions::JSON =>
$passportData
],['Content-Type' => 'application/json','Accept' => 'application/json']
);
$responseJSON = json_decode($response->getBody(),true);
Log::alert($responseJSON);
但是在这两种情况下,日志都是空的,这意味着我完全可以到达那条路线,我该如何解决这个问题?如何从 Homestead 内的另一个 Laravel 调用路由?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。