проблема, curl+captcha...

B
На сайте с 16.11.2011
Offline
16
891

Привет всем, пытаюсь через cURL работать с одной известной доской объявлений, проблема заключается в следующем, капча подгружается отдельно спрашивая есть ли у меня куки переданные при старте сессии. Но картинка не отображается, 403 error.


$ch = curl_init();
curl_setopt($ch, CURLOPT_COOKIESESSION, TRUE);
curl_setopt($ch, CURLOPT_URL, "*******/additem");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_REFERER, "********/additem/");
curl_setopt($ch, CURLOPT_COOKIEFILE, "cookie.txt");
curl_setopt($ch, CURLOPT_COOKIEJAR, "cookie.txt");
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_USERAGENT, ChooseBrowser());
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, genRequest());

Вопрос, что я делаю не так, по запрашиваемому урлу (те кто занимался) догадаются что за сайт.

За помощь в решении возможно вознаграждение))

---------- Добавлено 05.11.2013 в 23:55 ----------

в первом посте ахинею написал, и так как редактировать мне пост нельзя опишу конкретнее суть проблемы.

курлом отправляю пост на страницу X, где после получения печенья форвадит на другую страницу где необходимо ввести капчу. Капча подгружается отдельно имя ссылку ?captcha=5365476765. Где цифры никаким образом не совпадают с теми что получены в куках и тд. Но тем не менее по ссылке проверяется были ли получены куки на предыдущем этапе и если да, то отдается картинка, если же нет то запрет доступа (403). Пытаюсь все это делать с вышеприведенным конфигом. Понять почему так происходит не могу.

B1
На сайте с 13.12.2012
Offline
28
#1

не автоматизировал подобные вещи, но представления имею как.

1) грузим страницу GET запросом с установкой куки где находится форма отправки

2) грузим капчу GET запросом с тойже кукой, что при первом запросе

3) отправляем данные POST|GET запросом

что вы привели кусок кода, ни о чем не говорит о последовательности ваших действий.

B
На сайте с 16.11.2011
Offline
16
#2
bashkir102:
не автоматизировал подобные вещи, но представления имею как.
1) грузим страницу GET запросом с установкой куки где находится форма отправки
2) грузим капчу GET запросом с тойже кукой, что при первом запросе
3) отправляем данные POST|GET запросом
что вы привели кусок кода, ни о чем не говорит о последовательности ваших действий.

В добавлении к первому посту описал ситуацию подробнее. На страницу где появляется капча форвадит с другой страницы на которую отправляется POST запрос. В алгоритме что куда и зачем вопросов в принципе не возникает, проблема как раз взаимодействия cURL, куков, и пациента.

B1
На сайте с 13.12.2012
Offline
28
#3

Bioblocker, включите опцию CURLOPT_VERBOSE и дебажте заголовки, что за куку отправили/получили.

опять таки без более подробного листинга, трудно что либо сказать.

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