我正在使用Laravel构建一个应用程序,以为Android应用程序提供一些API,并且我正在使用来自另一台服务器(具有另一个URL)的一些外部API。我想为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;
})
我不要求http请求库!我想将请求重定向到另一个域并返回其请求。
答案 0 :(得分:0)
您可以使用Guzzle:
use Guzzle\Http\Client;
use Guzzle\Stream\PhpStreamRequestFactory;
[...]
$request = new Client("externalUrl.com/api/{$somewhere}");
$response = $request->send();
return $response->getBody();
答案 1 :(得分:0)
最好的选择是安装Guzzle。 https://github.com/guzzle/guzzle
使用起来非常简单。
$client = new \GuzzleHttp\Client();
$response = $client->request('GET', 'externalUrl.com/api/{somewhere}');
return $response->getBody();