Вы пытаетесь очистить HTML-страницу с поддержкой Ajax, используя curl.
Это амбициозно, поскольку исходная страница достигает определенного состояния (получение сеанса с сервера, файлы cookie и т. Д.), А затем выполняет вызов ajax.
Вам нужно точно подражать тому, что делает страница.
Например, вызов одновременно отправляет файлы cookie с идентификатором сеанса и , отправляя такой же идентификатор сеанса в качестве одного из его параметров публикации. - Таким образом, вам нужно посмотреть на входящее значение cookie, чтобы правильно создать исходящий параметр Post. Я не знаю, как бы вы сделали это, используя только curl.
Я полагаю, что вам, возможно, придется использовать Perl Mechanize или какую-либо другую более эффективную систему очистки при работе с этим веб-сайтом.
Также обратите внимание, что сервер возвращает нужные данные в виде фрагмента JS, , а не в виде JSON. Поэтому вам нужно будет проанализировать ответ, как только вы сможете убедить сервер предоставить его вам.
Добавлено: Вы можете попробовать вкладку «Сеть» в Firebug и Fiddler в дополнение к Wireshark, чтобы увидеть различия между исходной страницей и ее эмуляцией.
Достойный проект ...
Добавлено в ответ на комментарий о том, что Perl Mechanize не поддерживает Javascript:
Вам не нужна ваша программа очистки для выполнения Javascript. Ваша программа должна эмулировать взаимодействие HTML-страницы с сервером. Если ваша программа отправляет на сервер те же биты, что и настоящая HTML-страница, когда она запускается в браузере, сервер ответит нужными вам данными.
Поскольку данные не отвечают, вы не отправляете одинаковые биты.
Вы должны начать именно с эмуляции браузера. Например, отправьте те же заголовки в ваших запросах, в том числе пользовательский агент, принимает и другие заголовки. Сервер может их проверять.