Я пытаюсь создать приложение, которое очищает рекламу (например, аренда квартиры) и может создавать аналогичную рекламу одним щелчком мыши на внешнем веб-сайте. Очистка сделана, но я понятия не имею, как справиться с добавлением этого объявления. Авторизация довольно проста, поэтому я сделал ее сам, но я понятия не имею, как добраться до этой формы, потому что, прежде чем я смогу заполнить эту форму, мне нужно выбрать некоторые опции с помощью js-кнопок, как показано на гифке ниже.
Часть с авторизацией, логин.
$crawler = $client->request('GET', 'https://www.gumtree.pl/login.html');
dump($crawler->html());
$form = $crawler->filter("form")->form();
$crawler = $client->submit($form, array(
'email' => 'email',
'password' => 'password'
));
Я не прикрепляю другую часть с формой, потому что она все равно не работает.
URL-адрес с формой: https://www.gumtree.pl/post.html
Как это выглядит: https://i.imgur.com/F00oLab.gifv
@изменить
Я сделал запрос через свой браузер, а затем попытался сделать тот же запрос через приложение Symfony, но он все еще не работает.
Мой хром запрос:
Моя попытка с symfony:
$res = $client->get('https://www.gumtree.pl/post.html', [
'auth' => [
'username',
'password'
],
'form_params' => [
'locationId' => '3200025',
'categoryId' => '9073',
'machineId' => 'xxxx',
'DwellingForSaleBy' => 'ownr',
'DwellingType' => 'flat',
'AreaInMeters' => '50',
'NumberRooms' => '3',
'NumberBathrooms' => '10',
'Parking' => 'grage',
'Title' => 'titleeeeeeeee',
'Description' => '<p>test desc</p>',
'priceTypes' => 'FIXED',
'Price' => '459999',
'currencyValues' => 'PLN',
'UserName' => 'username',
'Email' => 'email',
]
]);
но запрос в Symfony возвращает код 200, а должен возвращать 302.
дамп ответа:
Есть идеи, как с этим бороться?