|
|
|
| Пытаюсь отправить данные в форму(с каптчей) на стороннем сервере и получить ответ. Алгоритм следующий:
По умолчанию(когда открываю файл с парсером на локальном сервере) срабатывает код:
$useragent = $_SERVER['HTTP_USER_AGENT'];
$ch = curl_init();
curl_setopt($ch, CURLOPT_USERAGENT, $useragent);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_URL, 'http://services.fms.gov.ru/info-service.htm?sid=2000');
curl_setopt($ch, CURLOPT_COOKIEJAR, dirname(__FILE__).'/my_cookies.txt');
curl_setopt($ch, CURLOPT_COOKIEFILE, dirname(__FILE__).'/my_cookies.txt');
$answer = curl_exec($ch);
$link_img = "http://services.fms.gov.ru/services/captcha.jpg";
| загружаю страницу с куками и каптчей, ниже находится форма которую я заполняю и отправляю в ответ(форма с именами как на стороннем сайте):
<form action="#" method="post">
<input type="hidden" name="sid" value="2000"/>
<input type="hidden" name="form_name" value="form"/>
<input type="text" name="DOC_SERIE" value='Серия паспорта*' />
<input type="text" name="DOC_NUMBER" value='Номер паспорта*' />
<img style="border:1px solid #C6B8C5; margin:-10px 5px -13px 0px;" src = "<?php echo $link_img?>" width="145" height="37" style='float:left;' />
<input type="text" name="captcha-input" value='Введите текст с картинки*' />
<input type="submit" name="submit" value="ОТПРАВИТЬ ЗАПРОС"/>
</form>
| По нажатию на кнопку срабатывает код:
$useragent = $_SERVER['HTTP_USER_AGENT'];
$ch = curl_init();
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_USERAGENT, $useragent);
curl_setopt($ch, CURLOPT_REFERER, 'http://services.fms.gov.ru/info-service.htm?sid=2000');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_URL, 'http://services.fms.gov.ru/info-service.htm');
$post = array('sid'=>$_POST['sid'],'form_name'=>$_POST['form_name'],'DOC_SERIE'=>$_POST['DOC_SERIE'],'DOC_NUMBER'=>$_POST['DOC_NUMBER'],'captcha-input'=>$_POST['captcha-input'],'submit'=>$_POST['submit']);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post));
curl_setopt($ch, CURLOPT_COOKIEJAR, dirname(__FILE__).'/my_cookies.txt');
curl_setopt($ch, CURLOPT_COOKIEFILE, dirname(__FILE__).'/my_cookies.txt');
$answer = curl_exec($ch);
| Но в ответ ничего не происходит, вернее загружается страница: http://services.fms.gov.ru/info-service.htm?sid=2000 хотя переход идет на: http://services.fms.gov.ru/info-service.htm а оттуда редирект(при успешной обработки данных) на страницу: http://services.fms.gov.ru/info-service-result.htm?sid=2000
Где моя ошибка? Или я вообще все делаю не так? | |
|
|