За последние 24 часа нас посетили 18277 программистов и 1637 роботов. Сейчас ищут 1615 программистов ...

При работе с fsockopen приходит мусор...

Тема в разделе "Прочие вопросы по PHP", создана пользователем madgest, 7 окт 2011.

  1. madgest

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

    С нами с:
    22 янв 2011
    Сообщения:
    7
    Симпатии:
    0
    Написал скрипт для работы с яндекс картами. Открываю соединение и работаю с данными так:
    PHP:
    1.  
    2. fputs($fp, "POST $path HTTP/1.1\r\n");
    3.         fputs($fp, "Host: $host\r\n");
    4.  
    5.         if ($referer != '')
    6.             fputs($fp, "Referer: $referer\r\n");
    7.  
    8.         fputs($fp, "Content-type: application/x-www-form-urlencoded; charset=UTF-8\r\n");
    9.         fputs($fp, "Content-length: ". strlen($data) ."\r\n");
    10.         fputs($fp, "Connection: close\r\n\r\n");
    11.         fputs($fp, $data);
    12.  
    13.         $result = '';
    14.         while(!feof($fp)) {
    15.  
    16.             //receive the results of the request
    17.             $result .= fgets($fp, 128);
    18.         }
    В принятых данных в начале выставляется 69c а в конце 0. Так понимаю это символы начала и конца данных. Так как сами данные в формате json то из-за этих двух символов ответ становится невалидным. Как быть?

    Заранее спасибо![/php]
     
  2. krow7

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

    С нами с:
    12 авг 2009
    Сообщения:
    398
    Симпатии:
    0
    Адрес:
    из Азии
    может, "откусить" первые 3 символа и последний?
     
  3. madgest

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

    С нами с:
    22 янв 2011
    Сообщения:
    7
    Симпатии:
    0
    Этот вариант понятен. Хотелось бы без шаманства. Что бы сразу приходило то что надо.