Как получить все постраничные данные, используя обещание жадности - PullRequest
0 голосов
/ 02 марта 2019

Я использую жадность для получения поста на одной странице, и он работает нормально.Но теперь проблема состоит в том, что страница имеет 20 постов на каждой странице.Я хочу получить все сообщения.Как я могу сделать это с помощью жадности?

вот мой код:

  public function __construct()
    {
        $this->client = new Client([
            'base_uri' => 'https://xxxxxx.com/',
            'Content-Type' => 'application/json',
        ]);

    }
    public function post($post)
    {
        $response = $this->client->request('GET', $post);

        $output = $response->getBody()->getContents();
        $data = $this->getData($output);
        return $data;
    }

1 Ответ

0 голосов
/ 02 марта 2019

Нет способа сделать это вообще.HTTP как протокол не определяет ничего о разбиении на страницы.Так что зависит от сервера, с которым вы работаете.Обычно ответ содержит что-то вроде

{
    "page": 5,
    "total": 631
}

На основе этой информации вы можете создать URL для следующей страницы, добавив ?page=6 (также зависит от сервера) и запросив его.

...