Laravel - 将请求重定向到外部 url 并将其响应作为响应返回

Mil*_*ari 5 php api laravel

我正在使用 Laravel 构建一个应用程序,为 Android 应用程序提供一些 API,并且我正在使用来自另一台服务器的一些外部 API(带有另一个 URL)。我想为来自 android 端的外部 API 请求创建代理或隧道之类的东西,但在我自己的 URL 中。

例如:android想要请求externalUrl.com/api/objects,但我希望他请求这个myDOmain.com/api/x/objects并获得与第一个链接返回的完全相同的响应,没有任何改变。并且有多个外部 API,我不想为每个 API 编写单独的代码。

需要这样的东西:

Route::any('/x/{somewhere}', function($request){
return [$request, externalUrl.com/api/{somewhere}]->response;
})
Run Code Online (Sandbox Code Playgroud)

我不是要求 http 请求库!我想将请求重定向到另一个域并返回其请求。

Mat*_*rre 1

您可以使用 Guzzle :

use Guzzle\Http\Client;
use Guzzle\Stream\PhpStreamRequestFactory;
[...]
$request = new Client("externalUrl.com/api/{$somewhere}");

$response = $request->send();
return $response->getBody();
Run Code Online (Sandbox Code Playgroud)