#php #laravel #api #http #guzzle
Вопрос:
Как и в случае с жадностью, я хочу отделить базовый URL-адрес и конечную точку
use GuzzleHttpClient;
use GuzzleStreamPhpStreamRequestFactory;
$client = new Client('https://stream.twitter.com/');//base url
$request = $client->post('statuses/2',123);//end point
Ответ №1:
Да, это возможно. У него есть метод, называемый 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'
]);
Ответ №2:
Может быть, вы хотите чего-то подобного?
$client = Http::baseUrl("https://stream.twitter.com/");
$response2 = $client->post('statuses/2',["status"=>"success"]);
$response3 = $client->post('statuses/3',["status"=>"success"]);
Ответ №3:
Для этого жрут использует жрут/psr7. Вы тоже можете (я думаю, что любая реализация PSR7 не будет просто жрать, так как PSR7 является стандартом):
use GuzzleHttpPsr7Uri;
$uri = new Uri('https://stream.twitter.com/');
$uriWithPath = $uri->withPath('statuses/2');
Имейте в виду, что Uri
это неизменяемый класс, поэтому все операции изменения создают новый экземпляр Uri с необходимым вам дополнительным свойством.