LINUX.ORG.RU

curl для нажатия кнопки на ajax

 ,


0

2

Хочу реализовать нажатие кнопки курлом. Проблема в том, что кнопка выглядит так:

<a onclick="$.ajax({data: 'authenticity_token=' + window._token, dataType: 'script', type: 'post', url: 'http://domain.tld/link/vote'}); return false;" href="#"><img src="/images/vote.gif" alt="None"></a>

Попробовал решить вопрос в лоб (куки рабочие, получены курлом и проверены):

curl -s --cookie ./domain.tld.cookies http://domain.tld/link/vote

Пишет что такая страница не найдена. Да и в браузере если напрямую открываю эту ссылку «такой страницы нет».

Как можно нажать эту кнопку без браузера?

Может не совсем то, но попробуй watir.

anonymous
()

Элементарно: ты шлешь GET запрос там, где надо POST.

Но могут быть и другие проверки, поэтому смотри какой именно запрос шлет браузер, и старайся курлом на 100% эмулировать: юзерагент, поддерживаемые языки, дополнительные хедеры и так далее.

winddos ★★★
()
Ответ на: комментарий от winddos

curl -X POST частично исправил ситуацию, кнопку активировать удаётся, но для следующей приходится перелогиниваться. Буду разбираться.

ksevelyar
() автор топика
Ответ на: комментарий от ksevelyar

но для следующей приходится перелогиниваться

ну так рули куками как надо
можешь курлом сначала куки дернуть, а потом уже POST слать куда нужно.

xtraeft ★★☆☆
()
Ответ на: комментарий от xtraeft

Дело оказалось не в курле а в специфическом нововведении сервиса :-/

Или ждать по минуте, или перелогиниваться. Проблема решена.

И да, я так и сделал, иначе доступа к ссылке бы и не было.

ksevelyar
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.