Помогите с POST запросом в CURL

D
На сайте с 28.06.2008
Offline
997
189

Есть страница https://www.immowelt.de/liste/riesa/haeuser/kaufen?sort=relevanz  первые 4 объявления грузятся на страницу, остальные подтягиваются при прокрутке внизу порциями по 4 шт.

При этом идет POST запрос, пытаюсь его повторить так

$array = array(
    "query" => 'geoid%3D10814285250%26etype%3D2%26esr%3D1%26sort%3Drelevanz',
    "offset" => '4',
    "pageSize" => '4'
);
$ch = curl_init('https://www.immowelt.de/liste/getlistitems');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $array);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_HEADER, false);
$html = curl_exec($ch);
curl_close($ch);

echo $html;

Получаю  Bad Request - в чем ошибаюсь?

L
На сайте с 10.02.2015
Offline
138
#1

Сюда 

curl_setopt($ch, CURLOPT_POSTFIELDS, $array);

нужно отправлять строку, а не массив.

D
На сайте с 28.06.2008
Offline
997
#2
livetv #:

Сюда 

curl_setopt($ch, CURLOPT_POSTFIELDS, $array);

нужно отправлять строку, а не массив.

$ch = curl_init('https://www.immowelt.de/liste/getlistitems');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, 'query=geoid%3D10814285250%26etype%3D2%26esr%3D1%26sort%3Drelevanz&offset=4&pageSize=4');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_HEADER, false);
$html = curl_exec($ch);
curl_close($ch);

echo $html;

Не помогло... и туда можно отправлять массив https://www.php.net/manual/ru/function.curl-setopt.php

Этот параметр может быть передан как в качестве url-закодированной строки, наподобие 'para1=val1&para2=val2&...', так и в виде массива, ключами которого будут имена полей, а значениями - их содержимое. 
E
На сайте с 01.03.2011
Offline
135
#3
livetv #:
нужно отправлять строку, а не массив.

можно отправлять как массив, так и строку

Dram #:

Не помогло...

что возвращает? Сделайте дебаг с возвратом всех заголовков ответа и возможных ошибок. Возможно что-то не передается в форме, например csrf

L
На сайте с 10.02.2015
Offline
138
#4
Сорян, мне как-то такое помогло

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий