За последние 24 часа нас посетили 56770 программистов и 1750 роботов. Сейчас ищут 924 программиста ...

Проблема с POST и cURL

Тема в разделе "PHP для новичков", создана пользователем ivank86, 29 янв 2008.

  1. ivank86

    ivank86 Активный пользователь

    С нами с:
    29 янв 2008
    Сообщения:
    1
    Симпатии:
    0
    столкнулся со странной проблемой...

    если передавать данные в которых есть знак "+" POST запросом с помощью cURL то вместо "+" передается пробел...

    причем если передавать с помошью обычной формы то все нормально...

    никто не знает как это исправить? может это баг в курле?

    вот пример:

    код 1.php:

    <?php

    $postdata="xxx=/wEWAwKSmJnZDALo1eO5BQKBv/rdBV7ncV0nrDQpTl+n9pHAcfWKCwg2";

    $ch = curl_init ();
    curl_setopt ($ch, CURLOPT_URL, 'http://mysite/2.php');
    curl_setopt ($ch, CURLOPT_POST, 1);
    curl_setopt ($ch, CURLOPT_POSTFIELDS, $postdata);
    curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
    $curl = curl_exec ($ch);
    curl_close ($ch);

    echo $curl;
    ?>

    код 2.php

    <?php
    foreach ($_POST as $key => $value)
    {
    echo 'KEY: '.$key.'<br> VALUE: '.$value.'<br>';
    }

    ?>

    вот что на выходе:

    KEY: xxx
    VALUE: /wEWAwKSmJnZDALo1eO5BQKBv/rdBV7ncV0nrDQpTl n9pHAcfWKCwg2

    вообщем вместо + пробел...

    помогите плиз....
     
  2. TerVer

    TerVer Активный пользователь

    С нами с:
    29 янв 2008
    Сообщения:
    2
    Симпатии:
    0
    сделай rawurlencode ("/wEWAwKSmJnZDALo1eO5BQKBv/rdBV7ncV0nrDQpTl+n9pHAcfWKCwg2");
    а при приеме соответственно
    rawurldecode