Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Сеть > PHP + cURL post не работает


Автор: shapka1ushanka 2.11.2007, 17:30
Привет!

Такая проблема у меня:
делаю скрипт для автоматического добавления информации на сайт.

с помощью cURL успешно залогинился, выбрал параметры на странице 1, дальше на странице 2, на странице 3 - все это перкрасно сохранилось. Дальше 4-ая страница - а здесь данные почему-то сохранятся не хотят: страница просто не реагирует на post запрос. ПРичем если я введу данные не правильно то на странице будет показана ошибка!

Подскажите, пожалуста, с чем это может быть связано и в какую сторону копать?

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

Настройки cURL'а вот такие:

Код

curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)");
curl_setopt($ch, CURLOPT_HTTPHEADER, "Accept-Language: en-us");
        
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 1000);
        
curl_setopt($ch, CURLOPT_COOKIEJAR, "C:\WebServers\home\site.com\www\cookiefile");
curl_setopt($ch, CURLOPT_COOKIEFILE, "C:\WebServers\home\site.com\www\cookiefile");
        
curl_setopt($ch, CURLOPT_POST, true);


далее для логина и 3-ех страниц 4-ре раза повторяется post запрос

Код

curl_setopt($ch, CURLOPT_URL, "https://site-kuda-mi-dobavliaem-danniye.com/login.php");
curl_setopt($ch, CURLOPT_POSTFIELDS, "parametr1=znacheniye1&parametr2=znacheniye2&tak_dalee=123");
$result = curl_exec($ch);


и в конце

Код

 print $result;


тут я смотрю добавились ли данные на страницу...


Помогите плиз  smile  smile  smile 

Автор: Delp 8.11.2007, 13:54
Трудно что либо подсказать, я с cURL постольку поскольку всего недельку другую знаком...
Мож какая ошибка закралась... пробовал после 4-го поста проверять не вернул и cURL ошибку?

Код

if (curl_errno($ch)) {

    echo curl_error($ch);

}    


Автор: capitan 8.11.2007, 20:10
Для мазилы есть плагин Tamper Data. Заюзай его, увидишь все запросы. Вариантов пока два:
1. Не передаешь какой-нибудь параметр. (hidden)
2. Не передаёшь куки из файла. И вообще посмотри, они там есть? Раз логинишься, куки должны быть.

Автор: Anarki 9.11.2007, 19:54
Вообще это нужно смотреть по ситуации. Может веб скрипт на стороне сервера какое-то поле не получает или куки.
Под Firefox есть плагин LiveHTTPHeaders. В нём как раз можно просмотреть, какие поля были отправлены, куки какие пришли или ушли, запрос какой был выполнен.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)