在两个 laravel 网站之间进行 API 调用
Making an API call between two laravel websites
我正在尝试在两个 laravel 网站之间发出 API 请求。对于第一个网站,这是它的结构。
api.php
use Illuminate\Support\Facades\Route;
Route::group(['prefix' => 'v1'], function () {
Route::get('getCountries', 'ApiController@getCountries');
});
ApiController
public function getCountries()
{
$country = Country::get();
$country->makeHidden(['flag']); //svg
return $country;
}
这个 returns 邮递员使用 GET https://website.com/api/v1/getCountries:
[{"id":1,"iso":"AF","name":"AFGHANISTAN","nicename":"Afghanistan","iso3":"AFG","numcode":4,"phonecode":93,"created_at":null,"updated_at":null},{"id":2,"iso":"AL","name":"ALBANIA","nicename":"Albania","iso3":"ALB","numcode":8,"phonecode":355,"created_at":null,"updated_at":null},{"id":3,"iso":"DZ","name":"ALGERIA","nicename":"Algeria","iso3":"DZA","numcode":12,"phonecode":213,"created_at":null,"updated_at":null},{"id":4,"iso":"AS","name":"AMERICAN SAMOA","nicename":"American Samoa","iso3":"ASM","numcode":16,"phonecode":1684,"created_at":null,"updated_at":null},{"id":5,"iso":"AD","name":"ANDORRA","nicename":"
在另一个网站上,用这个
调用这个API端点
web.php
use Illuminate\Support\Facades\Http;
Route::get('/test', function () {
$response = Http::get('http://website.com/api/v1/getCountries');
dd($response);
});
给出 cURL 错误 28:无法连接到 website.com 端口 80:连接超时。
知道如何在 2 个 laravel 网站之间进行 API 调用吗?会不会是与 Auth、Headers 或其他相关的东西?
这个问题只是服务器上的防火墙配置不允许来自同一个地方的请求。托管打开了所需的端口,并且没有任何问题。
我正在尝试在两个 laravel 网站之间发出 API 请求。对于第一个网站,这是它的结构。
api.php
use Illuminate\Support\Facades\Route;
Route::group(['prefix' => 'v1'], function () {
Route::get('getCountries', 'ApiController@getCountries');
});
ApiController
public function getCountries()
{
$country = Country::get();
$country->makeHidden(['flag']); //svg
return $country;
}
这个 returns 邮递员使用 GET https://website.com/api/v1/getCountries:
[{"id":1,"iso":"AF","name":"AFGHANISTAN","nicename":"Afghanistan","iso3":"AFG","numcode":4,"phonecode":93,"created_at":null,"updated_at":null},{"id":2,"iso":"AL","name":"ALBANIA","nicename":"Albania","iso3":"ALB","numcode":8,"phonecode":355,"created_at":null,"updated_at":null},{"id":3,"iso":"DZ","name":"ALGERIA","nicename":"Algeria","iso3":"DZA","numcode":12,"phonecode":213,"created_at":null,"updated_at":null},{"id":4,"iso":"AS","name":"AMERICAN SAMOA","nicename":"American Samoa","iso3":"ASM","numcode":16,"phonecode":1684,"created_at":null,"updated_at":null},{"id":5,"iso":"AD","name":"ANDORRA","nicename":"
在另一个网站上,用这个
调用这个API端点web.php
use Illuminate\Support\Facades\Http;
Route::get('/test', function () {
$response = Http::get('http://website.com/api/v1/getCountries');
dd($response);
});
给出 cURL 错误 28:无法连接到 website.com 端口 80:连接超时。
知道如何在 2 个 laravel 网站之间进行 API 调用吗?会不会是与 Auth、Headers 或其他相关的东西?
这个问题只是服务器上的防火墙配置不允许来自同一个地方的请求。托管打开了所需的端口,并且没有任何问题。