CURL и передача данных

Статус
В этой теме нельзя размещать новые ответы.

асс

Мой дом здесь!
Регистрация
13 Окт 2006
Сообщения
762
Реакции
230
Всем доброго вечера.
Проблемма такая.
Отправляю курлом данные форме

все добавляеться но в место руских букв добавляеться
HTML:
БобрДобр — это сервис «социальных закладок». РћРЅ позволяет пользователям С

HTML:
$post="url=google.ru&name=иванов&tags=теги&description=Текст текест&killspammers=$s_hidden";

Как разобраться с скриптом.
По сути хочу написать добавлялку новостей в бобр добр.
Чтоб не ходить каждый раз на сайт.
Помогите пожалуйста.

Код отправки данных в форму
HTML:
$post="url=yandrey.ru&name=&tags=&description=&killspammers=$s_hidden";//сформировали строку пост данных состоящую из пар поле=>значение разделенных амперсандом (при необходимости строку надо url-кодировать)
 curl_setopt($ch, CURLOPT_URL, "http://bobrdobr.ru/new_bookmark.html?next=None&copied="); //адрес на который шлем запрос (выдираем значение из action нашей формы)
curl_setopt($ch, CURLOPT_HEADER, 0); //дальше мы все уже видели
 curl_setopt($ch, CURLOPT_USERAGENT, $ua);
 //curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
 curl_setopt($ch, CURLOPT_COOKIE, $sess_cookie); //а вот тут внимательнее! не забываем показать серверу наши, полученные ранее кукисы
 curl_setopt($ch, CURLOPT_POST, 1); //говорим что у нас есть POST данные для сервера

 curl_setopt($ch, CURLOPT_POSTFIELDS, $post); //указываем на наши POST данные

 $result = curl_exec($ch); //выполняем запрос на сервер

      $result=iconv("utf-8", "windows-1251", $result);
     echo $result;
curl_close($ch);
 
используй urlencode для русского текста
 
Снова решил вернуться к вопросу.
Такая проблемма
Если скриптом пытаюсь открыть форму добавления
выдает
PHP:
404
Страница не найдена

если делаю тоже но браузером то все нормально.


Но тут скорее всего проблемма такая

в аккаунте есть
Сообщения
Профиль
Пригласить друзей
Добавить закладку[/B
Если наждмем добавить закладку то выскочит всплывающее окно.
Если нажмем сохранить и не вводим ничего то появиться окно
и ссылка

но если просто открыть

Выдает 404. Я понял таке что нужно чтоб форма сработала переходить только от всплывающей форы.

Может кто подскажет как отобразить форму.


Да проблемма такая на хостинге VDS
локально на денвере все отлично пашет.
 
ACC
Возможно бобр проверяет Реферер просто выстави в опциях курла нужный реферер.
Да проблемма такая на хостинге VDS
локально на денвере все отлично пашет.
Это пугает больше всего.
Что рекомендую сделать:
1) Проверь конфиги пхп своего VDS у тебя курл вообще там разрешён? Скорее всего всё дело в настройках VDS
2) Поставь на firefox плагин HTTP headers и смотри какие заголовки выдаёт когда ты браузером по страничкам ходишь на которые потом скриптом пойдёшь. Анализ заголовков много проблем решает и облегчит тебе жизнь в написание CURL скиптов.
 
PHP:
$post="url=google.ru&name=иванов&tags=теги&description=Текст текест&killspammers=$s_hidden";
А может все-таки обработать кирилицу в урле....;)
 
+1 за Ливе Хедерс. установить их можно тут

вначале сделай чтобы работал АНГ текст, постился. потом пробуй русские, скорее всего проблема из за ЮТФ8 кодировки. нужно русские текст перегонять в нее а потом постить или наоборот, нужно постить в win1251 зависит от настроек твоей кмс. но полюбому все это видно будет в Ливе Хедерс
 
Все намного там проще.
Как оказалось там есть 2 разные ссылки по которым добавлять новости..
Вот через вторую все отлично работает.
 
PHP:
$post="url=google.ru&name=иванов&tags=теги&description=Текст текест&killspammers=$s_hidden";
А может все-таки обработать кирилицу в урле....;)

Летом написал аналог "Закладочника" и у меня CURL всегда сам прекрасно справлялся с русскими символами в CURLOPT_POSTFIELDS, так что в данном случае urlencode излишен.
 
Все сделал,проблемма была в не верной форме,куда слал данные.
Щас все пашет.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху