За последние 24 часа нас посетили 20184 программиста и 1670 роботов. Сейчас ищут 1469 программистов ...

веб сокеты

Тема в разделе "PHP для новичков", создана пользователем WebMastering, 2 ноя 2013.

  1. WebMastering

    WebMastering Новичок

    С нами с:
    1 авг 2013
    Сообщения:
    5
    Симпатии:
    0
    Здравствуйте. Есть проблема, при отправке данных с одного файла на другой при помощи сокетов, в ответ получаю кроме контента ещё и сами HTTP заголовки, почему так? Данные отправляются и принимаются успешно

    Тоесть ответ сервера выглядит так:
    HTTP/1.1 200 OK
    Date: Sat, 02 Nov 2013 13:51:06 GMT
    Server: Apache/2.2.22 (Win32) PHP/5.3.10
    X-Powered-By: PHP/5.3.10
    Content-Length: 585
    Content-Type: text/html; charset=UTF-8

    И тут уже контент который я получил.

    Я думаю так происходит потому что здесь идет имитация браузера и сервер должен ответить ему по HTTP и это нормально. Но как избавиться от вывода этих заголовков? Я же не буду отдавать пользователю эти заголовки, хочется что бы отдавался только контент. Надеюсь на вашу помощь
     
  2. smitt

    smitt Старожил

    С нами с:
    3 янв 2012
    Сообщения:
    3.166
    Симпатии:
    65
    Пошли курлом, так думаю проще.

    Если проблема, то покажи как ты передаешь файл.
     
  3. WebMastering

    WebMastering Новичок

    С нами с:
    1 авг 2013
    Сообщения:
    5
    Симпатии:
    0
    Интересуют именно веб сокеты

    Код (Text):
    1. $s = fsockopen("localhost", 80, $errNum, $errInfo, 30);
    2. $str = "name=Vasya&age=25";
    3. $out = "POST /file.php HTTP/1.1\r\n";
    4. $out .= "Host: localhost\r\n";
    5. $out .= "Content-Type: application/x-www-form-urlencoded\r\n";
    6. $out .= "Content-Length: ".strlen($str)."\r\n\r\n";
    7. $out .= $str."\r\n";
    8. fputs($s, $out);
    9.  
    10. while(!feof($s)){
    11.     echo fgets($s)."<br>";
    12. }
    13. fclose($s);
    в file PHP ожидаются данные методом POST. Т.е все корректно отправляется и получается только заголовки тоже отрисовываются
     
  4. smitt

    smitt Старожил

    С нами с:
    3 янв 2012
    Сообщения:
    3.166
    Симпатии:
    65
    Давай угадаю, работает, поэтому лень переписывать?

    Выводи в таком случае то что тебе надо.Попробуй как здесь
    http://shanerutter.co.uk/2011/11/05/php-remove-header-data- ... -function/
     
  5. WebMastering

    WebMastering Новичок

    С нами с:
    1 авг 2013
    Сообщения:
    5
    Симпатии:
    0
    Не угадал :) Интересует как решить проблему а не потому что работает )

    ссылка на костыль очень-очень похожа, спасибо конечно... но если кто может предложить бескостыльный вариант, буду рад
     
  6. smitt

    smitt Старожил

    С нами с:
    3 янв 2012
    Сообщения:
    3.166
    Симпатии:
    65
    Ой что то я засомневался:)

    Без костыля видать не обойтись php.net/manual/ru/function.fsockopen.php#82586 - то же так же ковыряют.
    Про курл можешь почитать тут http://blog.derakkilgo.com/2009/06/07/send-a-file-via-post- ... l-and-php/
     
  7. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.589
    Симпатии:
    1.763
    Это не костыль был, это именно решение задачи
     
  8. Your

    Your Старожил

    С нами с:
    2 июл 2011
    Сообщения:
    4.074
    Симпатии:
    7
    Можно попробовать завернуть контент после заголовков, а при выводе парсить только завернутую область...