[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Отправка методом POST
287_08
Имеется файл которому необходимо передать параметр по методу POST. И посмотреть реакцию сервера.
____
Первый файл (у меня на серваке) отправляет данные методом пост, и смотрит что произойдет во втором файле, печатает то, что отвечает сервак, то есть контент. Вроде бы понятно написал)))



Спустя 9 минут, 55 секунд (25.07.2010 - 20:16) Basili4 написал(а):
Написал понятно. А вопрос в чем ?

Спустя 7 минут, 17 секунд (25.07.2010 - 20:23) 287_08 написал(а):
Вопрос в том как все это реализовать. Дайте нужное направление. Можно просто алгоритм.

<? 
$get = "?per1=test1&per2=test2";
$post = "per3=".urlencode('test3')."?per4=".urlencode('test4');
$url="http://sale/index.php";

$parse_url = parse_url($url);
$host = $parse_url["host"];
$path = $parse_url["path"];
$connect = fsockopen($host, 80, $errn, $errst, 10);

if ($connect)
{
$packet = "POST ".$path.$get." HTTP/1.1\n";
$packet .= "Host: ".$host."\n";
$packet .= "Refer: ".$url."\n";
$packet .= "User-Agent: Opera\n";
$packet .= "Content-Type: application/x-www-form-urlencoded\n";
$packet .= "Content-Length: ".strlen($post)." \n\n";
$packet .= $post."\n\n";

fputs ($connect, $packet);

while ($gets=fgets($connect,2048))
{
echo $gets;
}
fclose ($connect);
}
?>

Вот надыбал код, но он что-то не так делает

Спустя 3 минуты, 24 секунды (25.07.2010 - 20:26) Basili4 написал(а):
почитай про CURL это то что тебе надо

Спустя 1 день, 13 часов, 37 минут, 57 секунд (27.07.2010 - 10:04) 287_08 написал(а):
<?

$url = "test1.ru/i.php"; // это адрес, по которому скрипт передаст данные методом POST. Как видно, здесь указаны переменные, которые будут переданы через GET
$parse_url = parse_url($url); // при помощи этой функции разбиваем адрес на массив, который будет содержать хост, путь и список переменных.
$path = $parse_url["path"]; // путь до файла(/patch/file.php)

$host= $parse_url["host"]; // тут получаем хост (test.ru)
$data = "var1=vv"; // а вот тут создаем список переменных с параметрами. Эти данные будут переданы через POST. Все значения переменных обязательно нужно кодировать urlencode ("еще тест")

$fp = fsockopen($host, 80, $errno, $errstr, 10);
if ($fp)
{

$out = "POST ".$path." HTTP/1.1\n";
$out .= "Host: ".$host."\n";
$out .= "Referer: ".$url."/\n";
$out .= "User-Agent: Opera\n";
$out .= "Content-Type: application/x-www-form-urlencoded\n";
$out .= "Content-Length: ".strlen($data)."\n\n";
$out .= $data."\n\n";

fputs($fp, $out); // отправляем данные

// после отправки данных можно получить ответ сервера и прочитать информацию выданную файлом, в который отправили данные...
// читаем данные построчно и выводим их. Конечно, эти данные можно использовать по своему усмотрению.

while($gets=fgets($fp,2056))
{
print $gets;
}
fclose($fp);
}
?>


Данные отправляет, смотрит ответ сервера. Но это все очень долго происходит. Как бы ускорить процесс

Спустя 13 минут, 3 секунды (27.07.2010 - 10:17) DedMorozzz написал(а):
Ну пробуй аяксом. Отправляешь на др страницу аяксом данные, если ответ 200 - тогда всё гут. К примеру так. Ну иль тем же аяксом через Джекваери:
$.ajax({
type: "POST",
url: "test2.php",
data: "post_data1="+$('#post_data1').attr('value')+
"&post_data2="+$('#post_data2').attr('value')+
"&post_dataN="+$('#post_data1N).attr('value'),

success: function(msg){
$('
#button_id').submit();
}
}
);

Кстати в ф-и меседж можешь вывести результат работы. Сейчас - после срабатывания аякса, ответом являеться нажатие иной кнопки.

Спустя 8 минут, 21 секунда (27.07.2010 - 10:26) 287_08 написал(а):
Вот с аяксом вообще туган. Я его первый раз можно сказать в глаза вижу((

Спустя 2 минуты, 15 секунд (27.07.2010 - 10:28) DedMorozzz написал(а):
10 месяцев и 20 дней на ПХП форуме...ну да ладно.
Я веть пример указал, где просто подставить свои значения необходимо и всё smile.gif
Только необходимо подключить джеквариевскую либу. Которую легко мона с офф сайта слить.

Спустя 3 минуты, 36 секунд (27.07.2010 - 10:31) 287_08 написал(а):
Счас флуданем. Вообще я диза, а пхп хобби, вот попросили сделать, я делаю. Вроде все и работает, и ответ сервера приходит, но я не могу понять, что он там так долго в моем коде делает))

Спустя 1 час, 50 минут, 32 секунды (27.07.2010 - 12:22) 287_08 написал(а):
Мне надо авторизироваться путем отправки данных методом POST...

Спустя 37 секунд (27.07.2010 - 12:23) DedMorozzz написал(а):
И что мешает? Религия?

Спустя 1 минута, 59 секунд (27.07.2010 - 12:25) Adil написал(а):
Тебе наверху написали про CURL

Спустя 49 минут, 7 секунд (27.07.2010 - 13:14) 287_08 написал(а):
Всем спасибо за понимание. Проблема решена)) Подключил все-таки curl, пытаюсь разобраться!
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.