alex_zp
Новичок
отправка данных через curl ПОСТ запросом
Есть задача - есть сайт _http://www.privatbank.ru/info/index7.stm?fileName=e3_3_10_10r.html,необходимо прикрутить к форме на другом сайте,отправку данных по указанной выше ссылке.После того как зарегишся по указан. ссылке происходит передача этих данных вот сюда _http://privatbank.ua/info/tranlator/translator_privat_credit.html,это как бы итог,когда переданные данные уже обработались,так вот я выяснил каким должна быть строка для передачи итогой форме(через сниффер) type=creditcard_mp&ldap=privatbankru&name=%C8%E2%E0%ED+%CF%E5%F2%F0%EE%E2%E8%F7+%C8%E2%E0%ED%EE%E2%ED%EE%E2&tel_m=%2B79261234565&comment=%E0%EF%FB%E2%E0%EF+%E2%E0%EF%FB%E2%E0%EF - где-то такого плана,2 поля скрытых,type и ldap,также видные поля - имя,номер и коментарий.
Привожу код как я отправляю данные на эту форму
$str_post_zaprosa = "type=".$type."&ldap=".$ldap."&name=".urlencode($fio)."&tel_m=".$telephon."&comment=".urlencode($coment_rez);
//--------------------------------------------------------------
// ставим, что наш броузер читает только файлы в html формате
$header [] = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" ;
$header [] = "windows-1251,utf-8;q=0.7,*;q=0.7";
// говорим, что броузер не читает файлы в gzip формате
$header [] = "Accept_encoding: identity";
$header [] = "Accept_language: en-us,en;q=0.5";
$header [] = "Keep-Alive:300";
$header [] = "Content-Type:application/x-www-form-urlencoded";
$header [] = "Connection: keep-alive";
$header [] = "Cache-Control: no-store, no-cache, must-revalidate";
$header [] = "Keep_alive: 300";
$header [] = "Expires: Thu, 01 Jan 1970 00:00:01 GMT";
//--отправили данные форме-----
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://privatbank.ua/info/tranlator/translator_privat_credit.html");
curl_setopt ( $ch , CURLOPT_HTTPHEADER , $header );
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_POST, 0);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.1) Gecko/2008070208');
curl_setopt ( $ch , CURLOPT_SSL_VERIFYPEER, 0 );
curl_setopt($ch, CURLOPT_REFERER , "http://www.privatbank.ru/info/index7.stm?fileName=e3_3_10_10r.html");
curl_setopt($ch, CURLOPT_POSTFIELDS,$str_post_zaprosa);
curl_setopt($ch, CURLOPT_COOKIEJAR,$_SERVER['DOCUMENT_ROOT'].'/cookiefile.txt');
$result = curl_exec($ch);
if (curl_errno($ch))
{
echo curl_error($ch) . "(" . curl_errno($ch) . ")";
}
//-----------------------------------------------
в итоге постоянно получаю
Код ошибки Текст ошибки
0518 Тип продукта не определен
хотя скрытые параметры то передаю ТОЧНО,они в пост запросе есть,даже пробовал просто передавать строку такую же как получить от снифера при регистрации через браузер всёравно та же ошибка вылазить.ПОМОГИТЕ ПЛИЗ!!разобраться с этим вопрос
Есть задача - есть сайт _http://www.privatbank.ru/info/index7.stm?fileName=e3_3_10_10r.html,необходимо прикрутить к форме на другом сайте,отправку данных по указанной выше ссылке.После того как зарегишся по указан. ссылке происходит передача этих данных вот сюда _http://privatbank.ua/info/tranlator/translator_privat_credit.html,это как бы итог,когда переданные данные уже обработались,так вот я выяснил каким должна быть строка для передачи итогой форме(через сниффер) type=creditcard_mp&ldap=privatbankru&name=%C8%E2%E0%ED+%CF%E5%F2%F0%EE%E2%E8%F7+%C8%E2%E0%ED%EE%E2%ED%EE%E2&tel_m=%2B79261234565&comment=%E0%EF%FB%E2%E0%EF+%E2%E0%EF%FB%E2%E0%EF - где-то такого плана,2 поля скрытых,type и ldap,также видные поля - имя,номер и коментарий.
Привожу код как я отправляю данные на эту форму
$str_post_zaprosa = "type=".$type."&ldap=".$ldap."&name=".urlencode($fio)."&tel_m=".$telephon."&comment=".urlencode($coment_rez);
//--------------------------------------------------------------
// ставим, что наш броузер читает только файлы в html формате
$header [] = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" ;
$header [] = "windows-1251,utf-8;q=0.7,*;q=0.7";
// говорим, что броузер не читает файлы в gzip формате
$header [] = "Accept_encoding: identity";
$header [] = "Accept_language: en-us,en;q=0.5";
$header [] = "Keep-Alive:300";
$header [] = "Content-Type:application/x-www-form-urlencoded";
$header [] = "Connection: keep-alive";
$header [] = "Cache-Control: no-store, no-cache, must-revalidate";
$header [] = "Keep_alive: 300";
$header [] = "Expires: Thu, 01 Jan 1970 00:00:01 GMT";
//--отправили данные форме-----
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://privatbank.ua/info/tranlator/translator_privat_credit.html");
curl_setopt ( $ch , CURLOPT_HTTPHEADER , $header );
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_POST, 0);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.1) Gecko/2008070208');
curl_setopt ( $ch , CURLOPT_SSL_VERIFYPEER, 0 );
curl_setopt($ch, CURLOPT_REFERER , "http://www.privatbank.ru/info/index7.stm?fileName=e3_3_10_10r.html");
curl_setopt($ch, CURLOPT_POSTFIELDS,$str_post_zaprosa);
curl_setopt($ch, CURLOPT_COOKIEJAR,$_SERVER['DOCUMENT_ROOT'].'/cookiefile.txt');
$result = curl_exec($ch);
if (curl_errno($ch))
{
echo curl_error($ch) . "(" . curl_errno($ch) . ")";
}
//-----------------------------------------------
в итоге постоянно получаю
Код ошибки Текст ошибки
0518 Тип продукта не определен
хотя скрытые параметры то передаю ТОЧНО,они в пост запросе есть,даже пробовал просто передавать строку такую же как получить от снифера при регистрации через браузер всёравно та же ошибка вылазить.ПОМОГИТЕ ПЛИЗ!!разобраться с этим вопрос