如何在 laravel http 客户端 api 调用中分离基础 URL 和端点?
How to seperate base URL and endpoint in laravel http client api call?
就像在 guzzle 中一样,我想分开底 URL 和终点
use Guzzle\Http\Client;
use Guzzle\Stream\PhpStreamRequestFactory;
$client = new Client('https://stream.twitter.com/');//base url
$request = $client->post('statuses/2',123);//end point
是的,这是可能的。它有一个名为 baseUrl()
的方法
$http=Http::baseUrl("https://stream.twitter.com/")
->post('statuses/2',["status"=>"success"]);
假设您正在寻找新的客户端,那么配置如下所示
$client = new Client([
'base_uri' => 'http://www.fake.com/1.0/',
'timeout' => 0,
'proxy' => '192.168.16.1:10'
]);
Guzzle 使用 guzzle/psr7 来执行此操作。你也可以(我认为任何 PSR7 实现都不会只是 Guzzle 的,因为 PSR7 是一个标准):
use GuzzleHttp\Psr7\Uri;
$uri = new Uri('https://stream.twitter.com/');
$uriWithPath = $uri->withPath('statuses/2');
请记住,Uri
是一个不可变的 class,因此所有变异操作都会创建一个新的 Uri 实例,其中包含您需要的额外 属性。
也许你想要这样的东西?
$client = Http::baseUrl("https://stream.twitter.com/");
$response2 = $client->post('statuses/2',["status"=>"success"]);
$response3 = $client->post('statuses/3',["status"=>"success"]);
就像在 guzzle 中一样,我想分开底 URL 和终点
use Guzzle\Http\Client;
use Guzzle\Stream\PhpStreamRequestFactory;
$client = new Client('https://stream.twitter.com/');//base url
$request = $client->post('statuses/2',123);//end point
是的,这是可能的。它有一个名为 baseUrl()
$http=Http::baseUrl("https://stream.twitter.com/")
->post('statuses/2',["status"=>"success"]);
假设您正在寻找新的客户端,那么配置如下所示
$client = new Client([
'base_uri' => 'http://www.fake.com/1.0/',
'timeout' => 0,
'proxy' => '192.168.16.1:10'
]);
Guzzle 使用 guzzle/psr7 来执行此操作。你也可以(我认为任何 PSR7 实现都不会只是 Guzzle 的,因为 PSR7 是一个标准):
use GuzzleHttp\Psr7\Uri;
$uri = new Uri('https://stream.twitter.com/');
$uriWithPath = $uri->withPath('statuses/2');
请记住,Uri
是一个不可变的 class,因此所有变异操作都会创建一个新的 Uri 实例,其中包含您需要的额外 属性。
也许你想要这样的东西?
$client = Http::baseUrl("https://stream.twitter.com/");
$response2 = $client->post('statuses/2',["status"=>"success"]);
$response3 = $client->post('statuses/3',["status"=>"success"]);