Answer the question
In order to leave comments, you need to log in
How to fill out a form from another site through Guzzle and get the result?
Learning to work with Guzzle. I did a little exercise for myself.
Suppose there is a form on a third-party site with method="post" :
User fills in a single field with name="title", clicks a button - the site redirects it to result.php , gives the answer:
How can I programmatically fill out this form on my site and get a response ?
I do it with the following code, but the post parameter is not passed. How to fix?
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();
Answer the question
In order to leave comments, you need to log in
make a request for the final script, in your case it is result.php, and what parameters to pass.
// Инициализируем класс для работы с удаленным веб-ресурсом
$request = new Request('GET', 'http://hometask.std-221.ist.mospolytech.ru/term2/php/test/result.php?title=12312312');
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question