@sidorchik

Как через Guzzle заполнить форму с другого сайта и получить результат?

Учусь работать с Guzzle. Сделал для себя небольшое упражнение.

Допустим, на стороннем сайте есть форма с method="post":
5ae5c89e5f100338321077.png
Пользователь заполняет единственное поле с name="title", нажимает кнопку — сайт перебрасывает его на result.php, даёт ответ:
5ae5c96e91c30719099371.png
Как на моём сайте программно заполнить эту форму и получить ответ?

Делаю следующим кодом, но post-параметр не передаётся. Как исправить?
require 'vendor/autoload.php';

// Подключаем класс Client
use GuzzleHttp\Client;
// Подключаем класс Request
use GuzzleHttp\Psr7\Request;

// Инициализируем класс для работы с удаленными веб ресурсами
$client = new Client();

// Инициализируем класс для работы с удаленным веб ресурсом
$request = new Request('POST', 'http://hometask.std-221.ist.mospolytech.ru/term2/php/test1/result.php', [
    'title' => 'Дубровский'
]);

// Задаем анонимную функцию, которая будет обрабатывать ответ сервера
$promise = $client->sendAsync($request)->then(function ($response) {
    echo $response->getBody();
});

// Запускаем соединение с удаленным ресурсом и передаем управление по обработке ответа анонимной функции
$promise->wait();
  • Вопрос задан
  • 146 просмотров
Решения вопроса 1
@vaajnur
битриксоид
делай запрос на конечный скрипт, в твоем случае это result.php, ну и параметры какие нить передавай.
// Инициализируем класс для работы с удаленным веб-ресурсом
    $request = new Request('GET', 'http://hometask.std-221.ist.mospolytech.ru/term2/php/test/result.php?title=12312312');
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы