Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: работа с сокетами, домен 3го уровня
 
 автор: *m*   (07.11.2011 в 21:36)   письмо автору
 
 

создаю новую тему, потому что не могу ничего найти..

пытаюсь передать данные методом пост, на сервере. делаю так:

<?
print $_POST['name'];
print 
$_POST['pass'];

 
$hostname "test.domen.ru";
  
$path "/index.php?page=1";
  
$line "";
  
// Устанавливаем соединение, имя которого
  // передано в параметре $hostname
  
$fp fsockopen($hostname80$errno$errstr30); 
  
// Проверяем успешность установки соединения
  
if (!$fp) echo "$errstr ($errno)<br />\n"
  else
  { 
    
// Данные HTTP-запроса
    
$data 
      
"name=".urlencode("Игорь")."&pass=".urlencode("пароль")."\r\n\r\n";
    
// Заголовок HTTP-запроса
    
$headers "POST $path HTTP/1.1\r\n"
    
$headers .= "Host: $hostname\r\n"
    
$headers .= "Content-type: application/x-www-form-urlencoded\r\n";
    
$headers .= "Content-Length: ".strlen($data)."\r\n\r\n";
    
// Отправляем HTTP-запрос серверу
    
fwrite($fp$headers.$data); 
    
// Получаем ответ
    
while (!feof($fp))
    { 
      
$line .= fgets($fp1024); 
    } 
    
fclose($fp); 
  } 
  echo 
"<pre>";
  echo 
$line;
  echo 
"</pre>"

?>


итог, как бы в цикле вывело:

HTTP/1.1 200 OK
Server: nginx
Date: Mon, 07 Nov 2011 09:16:45 GMT
Content-Type: text/html; charset=windows-1251
Transfer-Encoding: chunked
Connection: keep-alive
Keep-Alive: timeout=5

1860
Игорьпароль

HTTP/1.1 200 OK
Server: nginx
Date: Mon, 07 Nov 2011 09:16:46 GMT
Content-Type: text/html; charset=windows-1251
Transfer-Encoding: chunked
Connection: keep-alive
Keep-Alive: timeout=5

1418
Игорьпароль


итд 11 раз, и в конце 302 found и в location указан cgi error, что это за зацикливание??

  Ответить  
 
 автор: *m*   (07.11.2011 в 22:08)   письмо автору
 
   для: *m*   (07.11.2011 в 21:36)
 

пардон немного не правильно и не до конца написал..
если данные передаются из одного в другой файл, то нормально работает, а если в из одного файла в негоже, то происходит вот это зацикливание.. как это исправить?

  Ответить  
 
 автор: cheops   (07.11.2011 в 22:40)   письмо автору
 
   для: *m*   (07.11.2011 в 22:08)
 

Может поставить проверку вида?
<?php
  
if(empty($_POST))
  {
     
// Отправляем данные через сокет
  
}
  else
  {
     
// Выводим результат
  
}
?>

  Ответить  
 
 автор: *m*   (07.11.2011 в 23:12)   письмо автору
 
   для: cheops   (07.11.2011 в 22:40)
 

в таком случае зацикливание убирается, но запрос выполняется, очень долго где-то секунд 5..
то есть он все равно как будто выполняет 10-15 запросов..

  Ответить  
 
 автор: *m*   (08.11.2011 в 02:12)   письмо автору
 
   для: *m*   (07.11.2011 в 23:12)
 

cheops скажите у вас работает нормально? не могу понять причина на сервере или я что-то не так делаю..

  Ответить  
 
 автор: *m*   (08.11.2011 в 12:33)   письмо автору
 
   для: *m*   (08.11.2011 в 02:12)
 

люди можете, кто нибудь попробовать у себя??

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования