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

Форум PHP

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

 

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

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

тема: LibCurl Передача запроса методом POST
 
 автор: VYB   (15.07.2006 в 18:36)   письмо автору
 
 

Здравствуйте, как организовать такой запрос к определенному скрипту на удаленном сервере в Сети, если нужно передать такие значения:
3 скрытых параметра(в форме input type=hidden имя параметра=значение)
1 значение, которое ввел в текстовое поле пользователь.
Нужно передать методом POST эти данные с помощью Curl и получить ответ от сервера-сгенерированную страницу, HTML-код которой необходимо тоже как-то обработать...

   
 
 автор: cheops   (15.07.2006 в 18:48)   письмо автору
 
   для: VYB   (15.07.2006 в 18:36)
 

Нужно воспользоваться именно Curl или сокеты тоже подойдут?

   
 
 автор: VYB   (15.07.2006 в 19:28)   письмо автору
 
   для: cheops   (15.07.2006 в 18:48)
 

Вы знаете, мне посоветовали Curl, но если применение сокетов в этой ситуации возможно, то конечно подойдет!

   
 
 автор: cheops   (15.07.2006 в 19:31)   письмо автору
 
   для: VYB   (15.07.2006 в 19:28)
 

Пример такого скрипта вы сможете найти в теме http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=1879 - вам просто понадобится передать свои данные в формате var1=value1&var2=value2&var3=value3&var4=value4.

   
 
 автор: VYB   (16.07.2006 в 15:59)   письмо автору
 
   для: cheops   (15.07.2006 в 19:31)
 

А как подконнектиться к серверу, если адрес нужного скрипта такой:
http://server.ru/?page=script.html
И еще один вопрос: передавать методом POST можно только фиксированные значения?
Как быть если надо передать данные, введенные в текстовое поле пользователем одновременно с фиксированными значениями полей hidden

   
 
 автор: cheops   (16.07.2006 в 16:30)   письмо автору
 
   для: VYB   (16.07.2006 в 15:59)
 

Содержимое POST-запроса можно формировать динамически
<?php  
  $hostname 
"server.ru"
  
$path "/?page=script.html"// Аккуратнее с именами и путями 
  
$line ""
  
// Устанавливаем соединение, имя которого 
  // передано в параметре $hostname 
  
$fp fsockopen($hostname80$errno$errstr30);  
  
// Проверяем успешность установки соединения 
  
if (!$fp) echo "$errstr ($errno)<br />\n";  
  else 
  {  
    
// Данные HTTP-запроса 
    
$data "var1=".urlencode($value1)."&var2=".urlencode($value2)."\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 
$line
?>

Строка
<?php
    $data 
"var1=".urlencode($value1)."&var2=".urlencode($value2)."\r\n\r\n"
?>

как раз и формируется POST-переменные.

   
 
 автор: VYB   (16.07.2006 в 19:12)   письмо автору
 
   для: cheops   (16.07.2006 в 16:30)
 

Спасибо, разобрался, все получилось.

   
Rambler's Top100
вверх

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