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

Тема в разделе "PHP", создана пользователем асс, 8 фев 2009.

Статус темы:
Закрыта.
Модераторы: latteo
  1. асс

    асс

    Регистр.:
    13 окт 2006
    Сообщения:
    749
    Симпатии:
    220
    Всем доброго вечера.
    Проблемма такая.
    Отправляю курлом данные форме

    все добавляеться но в место руских букв добавляеться
    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);
     
  2. Sangre

    Sangre Постоялец

    Регистр.:
    12 ноя 2008
    Сообщения:
    51
    Симпатии:
    6
    используй urlencode для русского текста
     
  3. асс

    асс

    Регистр.:
    13 окт 2006
    Сообщения:
    749
    Симпатии:
    220
    Снова решил вернуться к вопросу.
    Такая проблемма
    Если скриптом пытаюсь открыть форму добавления
    выдает
    PHP:
    404
    Страница не найдена
    если делаю тоже но браузером то все нормально.


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

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

    но если просто открыть http://bobrdobr.ru/new_bookmark.html

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

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


    Да проблемма такая на хостинге VDS
    локально на денвере все отлично пашет.
     
  4. genarator2003

    genarator2003 Постоялец

    Регистр.:
    23 авг 2007
    Сообщения:
    113
    Симпатии:
    8
    ACC
    Возможно бобр проверяет Реферер просто выстави в опциях курла нужный реферер.
    Это пугает больше всего.
    Что рекомендую сделать:
    1) Проверь конфиги пхп своего VDS у тебя курл вообще там разрешён? Скорее всего всё дело в настройках VDS
    2) Поставь на firefox плагин HTTP headers и смотри какие заголовки выдаёт когда ты браузером по страничкам ходишь на которые потом скриптом пойдёшь. Анализ заголовков много проблем решает и облегчит тебе жизнь в написание CURL скиптов.
     
  5. serjinio

    serjinio

    Регистр.:
    10 май 2007
    Сообщения:
    439
    Симпатии:
    49
    PHP:
    $post="url=google.ru&name=иванов&tags=теги&description=Текст текест&killspammers=$s_hidden";
    А может все-таки обработать кирилицу в урле....;)
     
  6. upandhigh

    upandhigh

    Регистр.:
    11 фев 2009
    Сообщения:
    235
    Симпатии:
    89
    +1 за Ливе Хедерс. установить их можно тут

    https://addons.mozilla.org/en-US/firefox/addon/3829

    вначале сделай чтобы работал АНГ текст, постился. потом пробуй русские, скорее всего проблема из за ЮТФ8 кодировки. нужно русские текст перегонять в нее а потом постить или наоборот, нужно постить в win1251 зависит от настроек твоей кмс. но полюбому все это видно будет в Ливе Хедерс
     
  7. асс

    асс

    Регистр.:
    13 окт 2006
    Сообщения:
    749
    Симпатии:
    220
    Все намного там проще.
    Как оказалось там есть 2 разные ссылки по которым добавлять новости..
    Вот через вторую все отлично работает.
     
  8. YVM

    YVM Писатель

    Регистр.:
    20 май 2007
    Сообщения:
    6
    Симпатии:
    16
    Летом написал аналог "Закладочника" и у меня CURL всегда сам прекрасно справлялся с русскими символами в CURLOPT_POSTFIELDS, так что в данном случае urlencode излишен.
     
  9. асс

    асс

    Регистр.:
    13 окт 2006
    Сообщения:
    749
    Симпатии:
    220
    Все сделал,проблемма была в не верной форме,куда слал данные.
    Щас все пашет.
     
Статус темы:
Закрыта.