За последние 24 часа нас посетили 72705 программистов и 1650 роботов. Сейчас ищут 910 программистов ...

Заголовок $_POST

Тема в разделе "PHP для новичков", создана пользователем PetrOFF, 5 май 2010.

  1. PetrOFF

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

    С нами с:
    13 май 2009
    Сообщения:
    102
    Симпатии:
    0
    Код (Text):
    1.  
    2. $zapros =<<<EQQ
    3. POST import.php HTTP/1.0\r\n
    4. Referer: http://test.ru\r\n
    5. Content-Type: text/html\r\n
    6. Charset=utf-8\r\n
    7. Content-Length: 1784
    8. Host: test.ru\r\n
    9. Connection: close\r\n
    10. User-Agent: PHPScript\r\n
    11. \r\n
    12. password=111&login=sys
    13. EQQ;
    При отправке сркетом пишет Bad Request?
     
  2. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    ничего не замечаешь?
     
  3. PetrOFF

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

    С нами с:
    13 май 2009
    Сообщения:
    102
    Симпатии:
    0
    Длина строки? Я думал если больше то ничего страшного? strlen для длинны строки?
     
  4. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    Да. Кроме того, заголовок charset в данном случае избыточен, если только вы его не хотите использовать в скрипте.
     
  5. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    Referrer
     
  6. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    Код (Text):
    1. Content-type: application/x-www-form-urlencoded
     
  7. PetrOFF

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

    С нами с:
    13 май 2009
    Сообщения:
    102
    Симпатии:
    0
    Код (Text):
    1.  
    2. <?php
    3.         $res="";
    4.         $str="password=111&login=sys";
    5.     $zapros ='
    6. POST /import.php HTTP/1.0\r\n
    7. Referer: http://test.ru\r\n
    8. Content-Type: application/x-www-form-urlencoded\r\n
    9. Content-Length: '.strlen($str).'\r\n
    10. Host: test.ru\r\n
    11. Connection: close\r\n
    12. User-Agent: PHPScript\r\n
    13. \r\n
    14.  '.$str;
    15. $fp = fsockopen('test.ru', 80, $errno, $errstr, 30);
    16. fwrite($fp, $zapros);
    17. while (!feof($fp)) {
    18.     $res .= fgets($fp, 128);
    19. }
    20.  
    21.   print_r($res);
    22. fclose($fp);
    23.  
    24.  
    25. ?>
    Че гото скрипт виснет? Содержимое файла import.php
    Код (Text):
    1. echo $_POST['password']
     
  8. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
  9. PetrOFF

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

    С нами с:
    13 май 2009
    Сообщения:
    102
    Симпатии:
    0
    Код (Text):
    1.  
    2. Referer
    это кстати.
    Ссылочка ваша не очень. curl не интересует.
    Вобше мне кажется что запрос ушел нормально, потому как ошибок нет а вот ответ не приходит. Вывод или не тот адресс или ответ тоже надо формировать с header?
     
  10. PetrOFF

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

    С нами с:
    13 май 2009
    Сообщения:
    102
    Симпатии:
    0
    Вобшем скрипт запускающей пост запрос, доделал. Теперь осталась разобраться с клиентом потому как вместо вывода пост массива он присылает ответ HTTP/1.1 200 OK ? :) Получается в клиенти не льзя написать echo $_POST['password'] а надо тоже формировать заголовки с Content-Type: ???
     
  11. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    и больше ничего?
     
  12. PetrOFF

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

    С нами с:
    13 май 2009
    Сообщения:
    102
    Симпатии:
    0
    ага :(

    Вот взял пример
    Код (Text):
    1.  
    2. <?php
    3.  
    4. $data = "login=login&password=password&PHPSESSID=123abc";
    5.  
    6. $packet="POST /import.php HTTP/1.0\r\n";
    7. $packet.="Host: test.ru\r\n";
    8. $packet.="Content-Length: ".strlen($data)."\r\n";
    9. $packet.="Referer: http://test.ru\r\n";
    10. $packet.="Content-Type: application/x-www-form-urlencoded\r\n";
    11. $packet.="Connection: keep-alive\r\n";
    12. $packet.="Cache-Control: no-cache\r\n\r\n";
    13. $packet.=$data."\r\n\r\n";
    14.  
    15. $ock=fsockopen('test.ru', 80, $errno, $errstr, 30);
    16. fwrite($ock,$packet);
    17. $html='';
    18.  
    19. if (!feof($ock))
    20. {
    21. $html.=fgets($ock);
    22. }
    23. echo $html;
    24. fclose($ock);
    25.  
    26. ?>
    Подскажите что из-себя должен представлять клиент возвращающий данные? Он тоже должен открывать соединение или просто достаточно echo $data; ???
     
  13. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    Код (Text):
    1. Connection: Close
    Код (Text):
    1. while
    тебе надо учить матчасть
     
  14. PetrOFF

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

    С нами с:
    13 май 2009
    Сообщения:
    102
    Симпатии:
    0
    О точно забыл про цикл! Спасибо, теперь вылетает по полной весь список :)
    Но мне не надо заголовки, как их можно убрать?
     
  15. PetrOFF

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

    С нами с:
    13 май 2009
    Сообщения:
    102
    Симпатии:
    0
    Кстати спасибо за ссылочку, это то что надо
     
  16. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    Отрезать все, что идет до первых двух переносов - логично же :)
     
  17. PetrOFF

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

    С нами с:
    13 май 2009
    Сообщения:
    102
    Симпатии:
    0
    банально :) думал есть какие-то специальные функции
     
  18. PetrOFF

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

    С нами с:
    13 май 2009
    Сообщения:
    102
    Симпатии:
    0
    Ок все понятно и на самом деле давно сделано с помощью file_get_contents . Однако за терпение [vs] респект :)